简单来说,ID3Tags指的是MP3曲目的标签。
具体来说,ID3Tags其实单纯以“ID3”就可以解释。
“ID3”的意思是“一般是位于一个mp3文件的开头或末尾的若干字节内,附加了关于该mp3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息,ID3信息分为两个版本,v1和v2版。”
其中: v1版的ID3在mp3文件的末尾128字节,以TAG三个字符开头,后面跟上歌曲信息。
v2版一般位于mp3的开头,可以存储歌词,该专辑的图片等大容量的信息。
而“Tag”在英文中名词的一个意思是“标签”,所以“ID3Tags”也就是“MP3文件曲目标签”的意思。
有些地方以“ID3”这样的简称来代表“ID3Tags”,二者本质是一样的。
如果没有ID3,那么人们只能根据文件名判断一首歌它是什么内容了,何况就算听出了是什么歌,它的演唱者、专辑名称你也未必背得下来,所以给MP3文件增加内置的标签是理所当然的事情。有趣的是,MP3的标签并没有一个ISO国际标准,ID3的各种版本目前只是一个近乎事实上的标准,并没有人强迫播放器或者编码程序必须支持它。
ID3v1和ID3v2的内容和区别
ID3v1 & ID3v1.1
MP3格式标准里并没有特别定义保存曲目相关信息的结构,于是1996年有人提出了一种解决办法,即在mp3文件末尾添加一些额外的数据(128 byte)来保存曲名、演唱者、专辑名等信息,这就是ID3(v1)。
ID3v1的字段(field)名称和每个字段的大小都是固定的,如下所示
Song title?D?D30 characters
Artist?D?D30 characters
Album?D?D30 characters
Year?D?D4 characters
Comment?D?D30 characters
Genre?D?D byte
ID3v1.1和ID3v1唯一区别就是多了个Album track字段,实际上是从上面说的Comment字段末尾抽出两个字节用来存放Album track信息。ID3v1(v1.1)大家一定很熟悉,因为MP3中早已经广泛的使用ID3,甚至很多人误以为这是mp3自带的标准(事实上mp3格式标准里并不包含ID3)。虽然广为使用,但ID3v1,ID3v1.1有明显缺陷。字段名和字段长度都 是固定死的,不可扩展,缺乏灵活性。而且30个字符实在十分有限,想必很多人碰到过title或者artist太长被截断的情况吧。所以有人提出新的ID3v2格式,试图解决这些问题,扩展ID3的功能。
ID3v2
虽然从名称上ID3v2好像只是ID3v1的一个升级,实际在格式定义上ID3v2和ID3v1完全不同,ID3v2应该算一个全新的tag系统。如果用过WINAMP的ID3 tag editor,就知道ID3v2和ID3v1最直观的区别是新增加了一些文本字段,比如composer、conductor、media type、copyright message等等。但这不是重点,相较于ID3v1,ID3v2最大的改进应该是极大的增强了灵活性和可括展性,不仅每个字段的长度是可扩展的(再也不必为ID3v1 30个字符的限制而烦恼了),而且用户还可以很容易的添加自定义字段。