我正在尝试编写一个需要读取mp3标签的工具。目前,我使用id3lib,但是如果它们包含非ASCII字符,我在解释文本字符串时遇到问题。我发现即使libid3附带的命令行工具id3info也有标记问题。对于我的样本歌曲(艺术家:DieÄrzte;标题:Dinge von denen;专辑:Geräusch),我在id3info,mp3info和exiftool时得到以下结果。
mischa@mischa-t420:~/workspace/mivabeing/miv/tests/data/mp3$ id3info song.mp3
*** Tag information for song.mp3
=== TALB (Album/Movie/Show title): Gerdusch
=== TPE1 (Lead performer(s)/Soloist(s)): Die Drzte
=== TIT2 (Title/songname/content description): Dinge Von Denen
=== TRCK (Track number/Position in set): 5
*** mp3 info
MPEG1/layer III
Bitrate: 192KBps
Frequency: 44KHz
mischa@mischa-t420:~/workspace/mivabeing/miv/tests/data/mp3$ mp3info song.mp3
File: song.mp3
Title: Dinge Von Denen Track: 5
Artist: Die �rzte
Album: Ger�usch Year:
Comment: Genre: [255]
mischa@mischa-t420:~/workspace/mivabeing/miv/tests/data/mp3$ exiftool -json song.mp3
[{
"Album": "Geräusch",
"Artist": "Die Ärzte",
"Title": "Dinge Von Denen",
.....
}]
id3info将“Ä”解释为“D”,将“ä”解释为“d”。 mp3info用“ ”解释“Ä”和“ä”。 exiftool正确解释“Ä”和“ä”。
我是否错误地使用了id3info?你知道它是ID3lib中的一个错误吗?你知道一个替代的C / C ++库用于mp3标签检索吗?
祝你好运 迈克尔