如何解包ID3标题的大小

时间:2017-08-01 05:49:18

标签: python mp3 id3

我正在尝试使用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!我可以看到RawSize0x2176Size4342

偏移4352是MPEG数据帧开始的地方。我需要知道如何 54 41 4C 42被转换为4342,因为我尝试的时候:

>>> unpack('i', '\x54\x41\x4C\x42')
(1112293716,)

无论如何都不会像4352那样!

我应该如何阅读它们?

1 个答案:

答案 0 :(得分:0)

首先,你在那里给出14个字节,而不是10个。

其次,你完全笨拙地阅读了这个尺寸。大小使用解压缩的7位值而不是8位值。

>>> 0x00 << 21 | 0x00 << 14 | 0x21 << 7 | 0x76
4342