如何使用WebClient DownloadData获取unicode字符串?

时间:2014-01-19 16:49:25

标签: c# string unicode webclient

抱歉我的英语不好。

我正在尝试使用此代码获取字符串数据:

WebClient wc = new WebClient();
byte[] buffer = wc.DownloadData("http://......);
string xml = Encoding.UTF8.GetString(buffer);
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

该字符串包含Unicode数据。当我使用像Firefox这样的浏览器时,每件事情都可以。

但在我的代码中,字符串被破坏,xml文件无用。一些角色改为

十进制值,当读取xml文件时,它们只是我们可以读取的字符。和其他人

变成了奇怪的迹象。

你知道我该怎么办?

1 个答案:

答案 0 :(得分:2)

将您的数据放入流中:

var stream = new MemoryStream(buffer);

使用Load方法加载它:

doc.Load(stream);

这将尝试检测正确的编码。

或者WebClient.DownloadString也可以。