【问题标题】:How to unpack ID3 header's size如何解压 ID3 标头的大小
【发布时间】:2017-08-01 05:49:17
【问题描述】:

我正在尝试使用 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

我应该如何阅读它们?

【问题讨论】:

    标签: python mp3 id3


    【解决方案1】:

    首先,你给了 14 个字节,而不是 10 个。

    其次,您完全看错了大小。大小使用未打包的 7 位值而不是 8 位值。

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

    【讨论】:

    • 非常感谢!但是应该如何理解/解析54 41 4C 42
    • 作为“TALB”标签。
    • 谢谢@Ignacio
    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多