这是我拥有的歌曲元数据(在 Winamp 上):
我正在努力弄清楚这到底是哪位艺术家。尝试使用谷歌搜索/谷歌翻译,但找不到英文的艺术家/标题。虽然有一页显示了“瓦格纳”的名字,但我听了他的很多歌曲却没有找到。
我怎样才能将其解码为可读格式;用它编写的语言(也许使用unicode?),这样我就可以使用谷歌翻译来翻译它?或者我实际上是否需要先了解该语言?
答案1
这是由字符编码不匹配引起的,在使用旧式 8 位编码时,这种情况相当常见。损坏的标记器将 ID3 标签标记为 ISO-8859-1,但实际上以 Windows-1251 编码文本(ID3v2 不允许)。您的播放器不知道这一点,并认为文本采用 ISO-8859-1。或者更糟的是;它还忽略了 ID3 规范,并认为标签采用 Windows-1252 或您的本地编码。维基百科将此称为莫吉巴克。
(除了像通用解码器那样根据字母频率进行统计猜测之外,程序不可能可靠地区分 8 位 Windows-125x 或 ISO-8859-x 编码,因此必须明确指定编码。ID3v1 规范仅允许 ISO-8859-1,但没人关心它。ID3v2 允许 ISO-8859-1、UTF-8 和 UTF-16,编码在标签本身中指定。不幸的是,并非所有玩家都开始关心。)
这通用西里尔文解码器可能会有帮助;它将“艺术家”解码为埃夫根尼耶·马尔文斯基。
如果页面无法运行,请尝试此工具或者找到一个具有以下内容的 Linux 机器iconv
:
echo "garbage" | iconv -t Windows-1252 | iconv -f Windows-1251
(希望 Winamp 能够更好地了解并将固定标签存储在 Unicode 中...)
标记音乐时不要使用 ID3 版本 1,以(大部分)避免此类问题。