Open brunchboy opened 4 years ago
And this may not be worth dealing with, but the same person who discovered the above also noticed that the first string pointer (which you call str_u1
) in track rows is not always empty. When present, it holds the ISRC (International Standard Recording Code) that uniquely identifies the track.
string 0 in the Track row string array is the ISRC (International Standard Recording Code). It showed up for me for some new music files I imported after buying on iTunes. the string encoding here is a bit different, it starts as a 0x90 string with its length uint16, but is followed by 0x00 (maybe Mac-only again) and 0x03 and then is actually ASCII encoded. see screenshot for USUM72004304:
I don’t think I’m going to try to do anything with this part myself; I don’t have any use for the ISRC information (which is not always there anyway), and trying to figure out how to deal with a 90
string that isn’t actually Unicode (maybe the 03
byte that comes before the first character is our clue? what a mess!) seems like too much effort for little value. 😄
I have noticed the same "every second character looks correct" issue with Japanese titles. There definitely is an issue with encoding.
I heard from another person who is implementing parsing of PDB files, and he was working with some Russian text, and discovered we were wrong to think these strings are UTF-16LE. Here is what he said, and I validated this by creating a playlist containing the same string in its name: