【问题标题】:ID3v1 tag in MP3 formatMP3 格式的 ID3v1 标签
【发布时间】:2016-03-20 16:24:42
【问题描述】:

我正在尝试(或刚刚开始)从头开始编写音乐播放器(从 MP3 格式开始),因此我对 ID3v1/1.1 标签有疑问。
让我们从标签中获取一个字段,比如说歌曲标题。它有 30 个字符(字节),我的问题是,'\0' 是否已经计入其中,还是我必须为 null 添加另一个字节?

【问题讨论】:

    标签: c++ mp3 decoding id3


    【解决方案1】:

    由于所有艺术家都没有30个字符的名字,据说如果在字段中输入信息后还有一些字节,这些字节应该用二进制值0填充。

    ID3v1-Spec

    我想说,同样的原则可以应用于其他领域(标题、专辑、...)。

    【讨论】:

    • 我在发布之前已经阅读过,引用仅表示如果字符数少于字段“已分配”的字符,则其余字符将填充为空。我应该更好地说明我的问题:是否有可能假设标题将填充所有 30 个字符(不同于 null)或仅 29 个最后保留为 null?
    • 如果您有超过 30 个字符 -> 将它们修剪为 30 个字符。如果您有 30 个字符,则无需转义它们。如果你的字符少于 30 个 -> 转义它们。
    • 字段可以填充30个实际字符,然后不以0结尾。此外,请记住,并非所有文件实际上都符合规范 - 通常这些字段用 而不是 0 填充。简而言之,您必须自己以 0 结尾的字符串。
    猜你喜欢
    • 1970-01-01
    • 2021-05-16
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    相关资源
    最近更新 更多