【发布时间】:2012-01-31 17:53:18
【问题描述】:
我有以下 xml:
<root>
<text><![CDATA[ОПЕЛХМЮБЮ ОПЕГ БЗПРЪЫ ЯЕ АЮПЮАЮМ, Б ЙНИРН ЯЕ]]></text>
</root>
我知道此文本是使用编码 KOI8-R 生成的(仅当我将 xml 文件作为文本打开时选择此编码时,此文本才会显示在我的文本编辑器中)并且我想将此节点的值转换为在 c# 中可用的字符串。我可以读取该节点的 InnerText 值,但这不是我所期望的。有人可以告诉我将用这种编码编写的字符串转换为 Unicode 字符串的正确方法吗?
更新
按照 Jon Skeet 的建议,解决方案如下所示:
Encoding encoding = Encoding.GetEncoding("KOI8-R");
XmlDocument doc2 = new XmlDocument();
using (TextReader tr = new StreamReader(outputPath, encoding))
{
doc2.Load(tr);
}
【问题讨论】:
标签: c# unicode character-encoding