关于mp3 tag的一些补充(关于tag的编码方式)

关于mp3 tag的资料很多,大家可以自己去找,大概讲的都是大同小异,但是我觉得他们忘了很重要的一点,也是我忽略的,后来解析文件出错了,才恍然大悟。那就是tag信息的编码。

大家都知道每个frame的头是由10个字节组成的,具体内容我就不仔细写了,在着10个字节后有一个字节,大家可以仔细观察一下,只有四种情况 00 ,01,02,03,这个代表什么呢?这个就是表示tag的编码方式的。00代表的就是ISO-8859-1 编码,后面直接跟的就是字符串,关于编码方式我就不做解释了,网上很多,01 代表的就是UTF-16编码,我就是被这个搞晕了,因为在10个fram的表示后有这个三个字节 01 FF FE,我是直接按照ISO-8859-1编码进行的。所以读取的字符串总是不对,FF FE表示的BOM的顺序。FF FE表示的就是little endian,FE FF 表示的就是big endian。在这两个字节后面才是真正的字符串。02 代表 UTF16BE 我没有碰到过大概的意思就是UTF16的编码顺序为big endian,但是这种编码没有FF FE这样的标识。03 表示的UTF8编码,在tag信息是不采用这种表明,但是这种编码在tag里不是错的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值