0

我正在尝试编写一个需要读取 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 中的错误吗?您知道用于 mp3 标签检索的替代 C/C++ 库吗?

最好的问候迈克尔

4

0 回答 0