【发布时间】:2020-06-26 01:47:41
【问题描述】:
我知道这是一个很受欢迎的问题,但我仍然没有找到任何解决方案。
所以我从 api 获取 xml 文件作为响应,但西里尔符号表示为问号。
我尝试使用 Encoding 类转换源字节数组。
using (var httpClient = new HttpClient())
{
var response = await httpClient.GetAsync(uriBuilder.Uri);
var responseBytes = await response.Content.ReadAsByteArrayAsync();
var responseText = Encoding.UTF7.GetString(responseBytes);
var utf8 = Encoding.UTF8.GetString(responseBytes);
var unicode = Encoding.Unicode.GetString(responseBytes);
var ascii = Encoding.ASCII.GetString(responseBytes);
var defaultt = Encoding.Default.GetString(responseBytes);
}
但还是没有运气。
响应字符集:
Content-Type: text/xml;charset=windows-1251;
有人可以提出任何解决方案吗?
更新: 答案是我下面的评论
【问题讨论】:
-
你用什么来查看结果?我不认为它是反序列化,它是查看器。
-
@jdweng 这是来自 JetBrains 的 Rider
-
它看起来像一个控制台窗口。所以你必须设置控制台的属性来匹配编码。请注意是否更改默认编码是否有帮助。请参阅:jetbrains.com/help/idea/…