我正在尝试使用Python 2.7解压缩ID3v2.3标头。但是,我并不完全理解MP3格式的前10个字节。例如:
49 44 33 03 00 00 | 00 00 21 76 | 54 41 4C 42
.I .D .3 .3 .0 | RawSize | Size
使用Synalyze it!我可以看到RawSize
为0x2176
而Size
为4342
。
偏移4352
是MPEG数据帧开始的地方。我需要知道如何
54 41 4C 42
被转换为4342
,因为我尝试的时候:
>>> unpack('i', '\x54\x41\x4C\x42')
(1112293716,)
无论如何都不会像4352
那样!
我应该如何阅读它们?
答案 0 :(得分:0)
首先,你在那里给出14个字节,而不是10个。
其次,你完全笨拙地阅读了这个尺寸。大小使用解压缩的7位值而不是8位值。
>>> 0x00 << 21 | 0x00 << 14 | 0x21 << 7 | 0x76
4342