我知道MP3文件格式本质上由两部分组成,即id3元数据+音频帧。如何以二进制形式读取所有id3段和所有音频帧作为两个二进制blob?我希望仅对元数据和音频作为文件中的两个独立单元执行哈希计算。如何确定“分割点”在文件中的位置?
根据ID3标签规范:
+-----------------------------+
| Header (10 bytes) |
+-----------------------------+
| Extended Header |
| (variable length, OPTIONAL) |
+-----------------------------+
| Frames (variable length) |
+-----------------------------+
| Padding |
| (variable length, OPTIONAL) |
+-----------------------------+
| Footer (10 bytes, OPTIONAL) |
+-----------------------------+
注意,这里有多个ID3标签版本。