Я пытаюсь написать инструмент, который требует для чтения mp3-тегов. В настоящее время я использую id3lib, но у меня проблемы с интерпретацией текстовых строк, если они содержат символы не ASCII. Я обнаружил, что даже инструменты командной строки id3info, поставляемые с libid3, имеют проблемы с тегом. Для моей песни образца (Исполнитель: 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-тегов?
С наилучшими пожеланиями
Майкл
Задача ещё не решена.