【发布时间】:2012-06-02 22:16:22
【问题描述】:
我在使用 ID3 标签编码时遇到问题。我查询了一个 Web 服务,它返回一些 XML,包括如下节点:
<name>Blue Öyster Cult</name>
然后我会使用这些信息来更新我的 ID3 标签。问题是标签更新为:
Blue Öyster Cult
我知道这是一个编码问题,但我正在努力弄清楚如何让它工作。我的理解是 ID3 标签需要编码为 ISO-8859-1。
我写了这段代码,但没什么区别:
Encoding newEncoding = Encoding.GetEncoding("ISO-8859-1");
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = Encoding.UTF8.GetBytes(newArtistName);
byte[] asciBytes = Encoding.Convert(utf8, newEncoding, utfBytes);
string encodedArtistName = newEncoding.GetString(asciBytes);
这方向对吗?
非常感谢任何建议。
【问题讨论】:
-
您使用的是 ID3v1 还是 ID3v2? ID3v1 仅支持 ASCII,而 ID3v2 可以使用 Unicode 编码。 en.wikipedia.org/wiki/ID3#ID3v2