gpt4 book ai didi

c# - WebClient.DownloadString 使用了错误的编码

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:27 28 4
gpt4 key购买 nike

我正在使用 webclient 从在线共享点下载 XML 文件。

但是,当我使用 WebClient.DownloadString(string url) 方法时,一些字符没有被正确解码。

当我使用 WebClient.DownloadFile(string url, string file) 然后我读取文件时,所有字符都是正确的。

xml本身不包含编码声明。

string wrongXml = webClient.DownloadString(url);
//wrongXml contains Ä™ instead of ę

webClient.DownloadFile(url, @"C:\temp\file1.xml");
string correctXml = File.ReadAllText(@"C:\temp\file1.xml");
//contains ę, like it should.

此外,当在 Internet Explorer 中打开 url 时,它会正确显示。

这是为什么呢?是因为我的机器上的默认 Windows 编码还是网络客户端在使用 DownloadString 和 DownloadFile 时以不同方式处理响应?

最佳答案

可能它现在使用的编码不是服务返回的编码。

您可以在发出请求之前设置您期望的编码:

webClient.Encoding = Encoding.UTF8;
string previouslyWrongXml = webClient.DownloadString(url);

关于c# - WebClient.DownloadString 使用了错误的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48078073/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com