81d16c1fd6
ID3v2 text-encoding byte $02 is "UTF-16BE encoded Unicode without BOM" (ID3v2.4 section 4), but TextEncodingToken mapped it to utf-16le, so every non-ASCII text frame using $02 was decoded byte-swapped into mojibake. Map $02 to utf-16be, and teach decodeString and findZero to handle utf-16be: swap to utf-16le for the actual decode (Node has no native UTF-16BE decoder) and scan the terminator on the 2-byte boundary.