根据documentation,ID3标签有不同步标志。据我所知,它应该只适用于ID3帧(不是页眉或页脚)。
但是在解析之前我应该如何处理帧(用于阅读,而不是写入)?我应该只替换'11111111 111xxxxx'
的所有'11111111 00000000 111xxxxx'
序列吗?
答案 0 :(得分:3)
不,这就是你在编写标签时所做的事情(不要忘记,在这种情况下你还需要用“0xff,0x00,0x00”替换任何“0xff,0x00”,如规范中所述)。
当您阅读标签时,您可以简单地用“0xff”替换任何“0xff,0x00”序列。通过跟踪读取的最后一个字节并丢弃0xff之后的任何单个0x00字节,在读取文件时立即执行此操作最简单。
要弄清楚这一点并不是那么容易,因为规范只描述了在编写标签时要采取的不同步方式,而不是在阅读时所做的事情。