1

根据文档,ID3 标签有一个不同步标志。据我了解,它应该只应用于 ID3 帧(而不是页眉或页脚)。

但是在解析之前我应该​​如何处理帧(用于读取,而不是写入)?我应该只替换所有'11111111 111xxxxx'序列'11111111 00000000 111xxxxx'吗?

4

1 回答 1

4

不,这就是您在编写标签时所做的(不要忘记,在这种情况下,您还需要将任何“0xff,0x00”替换为“0xff,0x00,0x00”,如规范中所述)。

当您阅读标签时,您可以简单地将任何“0xff,0x00”序列替换为“0xff”。最简单的方法是在读取文件时立即执行此操作,方法是跟踪读取的最后一个字节并丢弃 0xff 之后的任何单个 0x00 字节。

要弄清楚这一点并不容易,因为规范只描述了在编写标签时以非同步方式做什么,而不是在阅读标签时做什么。

于 2014-01-15T21:48:11.583 回答