在描述和ID3v2标头及其内的帧时,https://id3.org/id3v2.3.0#ID3v2_frame_overview状态:
帧ID后面跟着一个大小描述符,使每帧的总标头大小为10个字节。
然而,当我使用十六进制编辑器浏览ID3标记的帧时,帧似乎是12个字节。我看过很多歌曲,它们似乎都有标签,后面是一个4字节大小的描述符,然后是4个额外的字节(描述说这应该是两个标志字节(。
我承认我在这里有点力不从心,但我正试图使用PHP编写ID3v2标签,我有点不知所措。
您还没有阅读3.3.1。帧头标志:
一些标志表示帧标头是用附加信息扩展的。该信息将以与指示添加的标志相同的顺序添加到帧报头。即解压缩大小的四个字节将位于加密方法字节之前。
这意味着除了3.3之外还有以下内容。ID3v2帧概述:
帧头的布局:
PD_ 1
;标志";对于10字节的帧头,则您必须根据设置的标志预期额外的字节:
- 比特7("i"(=4个字节;解压缩大小">
- 比特6("j"(=1个多字节";加密方法">
- 比特5("k"(=1个多字节";组标识符">
所以你的观察可能是正确的。如果你链接到这样一个文件的前4096个字节,那么我可以告诉你它们是否仍然符合标准;look";比如每个报头具有12个字节。