【问题标题】:How to get unicode string with WebClient DownloadData?如何使用 WebClient DownloadData 获取 unicode 字符串?
【发布时间】:2014-01-19 16:49:25
【问题描述】:

对不起,我的英语不好。

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

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 文件时,它们只是我们可以读取的字符。和其他人

变成了奇怪的符号。

你知道我该怎么做吗?

【问题讨论】:

  • 坏了怎么办?你得到了什么,你期望得到什么?

标签: c# string unicode webclient


【解决方案1】:

将您的数据放入流中:

var stream = new MemoryStream(buffer);

并使用 Load 方法加载它:

doc.Load(stream);

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

或者WebClient.DownloadString 也可以。

【讨论】:

  • 非常感谢。下载字符串工作。
猜你喜欢
  • 1970-01-01
  • 2011-10-01
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-25
  • 2011-12-24
相关资源
最近更新 更多