ID3 解析器和编辑器

ID3 Parser and Editor

我正在编写一个 ID3 解析器和编辑器。它已经支持 ID3v1、v2.1-2.3。还有其他广泛使用的 ID3 版本或扩展吗?例如,我读过增强型 ID3v1 标签(在 ID3v1 之前)并以“TAG+”开头,但我从未在 MP3 文件中看到它。我是否应该实施对它的支持?

  • “ID3v2.1”从未存在过。
  • 是的,增强型 TAGTAG+ 标识,它扩展了 IDv1.
  • 有关 MP3 文件中预期的所有元数据系统的列表,请参阅 - 最高优先级应该是 ID3v2.4,因为您将遇到那些除了ID3v2.3。然后选择非正式的 and/or 遗留文件,因为仍然可以遇到这些文件(仅仅因为文件变旧并不意味着它们不复存在)。

解析文件时请注意以下几点:

  • 一个文件可以有两者:IDv1 和 IDv2 标签。
  • 一个文件可以有多个 IDv2 标签(即 IDv2.3 和 IDv2.4)。虽然它不应该发生,但它应该不会对您的解析器造成任何问题,也可以接受同一版本的多个标签。
  • ID3v2 不限于 MP3 文件(但 IDv1 及其所有非正式扩展)。
  • 考虑 MP3 文件中的以下解析顺序:
    1. 检查文件末尾的 ID3v1
    2. 检查 ID3v1 前面的 ID3v1.2
    3. 检查 ID3v1 前面的 Enhanced TAG
    4. 在文件开头检查多个 ID3v2,对于 ID3v2.4,检查文件末尾所有 ID3v1 类标签前面的页脚。