根据http://id3.org/id3v2.3.0规范,帧标题的布局如下:
Frame ID $xx xx xx xx (four characters)
Size $xx xx xx xx
Flags $xx xx但是同样的页面只在下面几行说明允许不同类型的文本编码的帧有一个文本编码描述字节直接在帧大小之后。如果使用ISO-8859-1,这个字节应该是$00,如果使用Unicode,则应该是$01。
这是令人困惑的,因为标志(2个字节)应该直接在帧大小信息之后,所以我希望编码字节在标志信息之后。
那么现在什么是正确的呢?
Frame ID $xx xx xx xx (four characters)
Size $xx xx xx xx
Flags $xx xx
Encoding $xx
Text或
Frame ID $xx xx xx xx (four characters)
Size $xx xx xx xx
Encoding $xx
Flags $xx xx
Text发布于 2013-11-05 15:08:37
帧头有10字节长.UID为4字节,帧长度为4字节(不包括标头),标志为2字节。任何其他信息都将在框架本身中找到,而不是其标题。
措辞肯定令人费解。
意思是,在您希望读取字符串的地方,第一个字节将告诉您预期的内容。$00表示ISO-8859-1或一个字节编码$01表示Unicode或2字节编码.$01后面是FF FE或FE FF,以通知哪个字节是最重要的字节。
我建议您在一些mp3文件上使用十六进制编辑器并对它们进行剖析
https://stackoverflow.com/questions/17263280
复制相似问题