I'm fairly new to examining ID3 in detail but I am
having problems with the excellent jd3lib where
getDecodedString()
returns a String with the proper characters in the
first length -1 characters, but the last character is
empty. It is null (0x0) in the ID3v2 frame.
If I am reading the RFC correctly, ID3v2 seems to allow
this:
"Frames that allow different types of text encoding
contains a text encoding description byte. Possible
encodings:
$00 ISO-8859-1 [ISO-8859-1]. Terminated with $00.
"
It doesn't seem like this null byte is being handled
properly. This causes all sorts of problems like
playlists not saving properly, Tracks not being
displayed at all (because Integer.parseInt() can't
handle the Strings properly).
I am using String.trim() to work around this, but it
may cause other problems and there is probably a better
way.
I've attached the ID3v2 tag of the MP3 I am looking at,
but many MP3s that I have ripped with EAC have
the same problem.
Thanks!
Example ID3v2 tag causing problems