在 Java 中使用 mp3agic 读取 unicode 标签的乱码结果
Posted
技术标签:
【中文标题】在 Java 中使用 mp3agic 读取 unicode 标签的乱码结果【英文标题】:Gibberish result reading unicode tags using mp3agic in Java 【发布时间】:2013-06-05 13:29:57 【问题描述】:我正在尝试使用 mp3agic 在 Java 中读取俄罗斯歌曲的标签:
Mp3File song;
try
song = new Mp3File(newURI);
if (song.hasId3v2Tag())
ID3v2 id3v2tag = song.getId3v2Tag();
title = id3v2tag.getTitle();
artist = id3v2tag.getArtist();
else if (song.hasId3v1Tag())
ID3v1 id3v1tag = song.getId3v1Tag();
title = id3v1tag.getTitle();
artist = id3v1tag.getArtist();
但是我得到这个“??-2???????????????”而不是这个“Би-2Скользкие Улицы”。 我该怎么做才能解决这个问题?
【问题讨论】:
【参考方案1】:可以在以下位置找到有关此问题的说明:https://github.com/mpatric/mp3agic/issues/39
综上所述,问题在于文本编码是windows-1251(也称为cp1251)。带有 windows-1251 编码字符串的 ID3v2 标记(或不属于 ID3v2 的 4 种支持编码之一的任何其他编码)无效。以编程方式将 windows-1251 与 iso-8859-1 区分开来并不容易,因此自动检测字符串以对其进行转码可能会很棘手。
这里有一些有趣的 cmets:https://superuser.com/questions/495775/how-to-translate-wacky-metadata-to-readable-format
【讨论】:
以上是关于在 Java 中使用 mp3agic 读取 unicode 标签的乱码结果的主要内容,如果未能解决你的问题,请参考以下文章