c# - 西里尔符号显示为问号。内容类型:文本/xml;字符集=windows-1251;
问题描述
我知道这是一个很受欢迎的问题,但我仍然没有找到任何解决方案。
因此,我将 xml 文件作为来自 api 的响应,但西里尔符号表示为问号。
我试图使用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;
有人可以提出任何解决方案吗?
更新:答案是我在下面的评论
解决方案
如此处所述,您可以使用它Encoding.GetEncoding(1251).GetString(responseBytes);
来获得所需的编码。
请记住,操作系统需要支持代码页。
推荐阅读
- swift - “线程 1:EXC_BAD_ACCES(代码=2,地址=0x7ffee73ceff8)”是什么意思?
- c# - Docker 和 ARM64 - 无法加载文件或程序集
- android - 无法使用选择器突出显示 RecyclerView 中的项目
- java - 检测到 Logback 配置错误(当我在 Google Cloud Platform 上运行测试时)
- pytorch - 如何在 slurm 中设置 ntasks 或 ntasks-per-node 以在 pytorch 中运行多节点分布式训练?
- pandas - 我希望能够创建一个多项式函数,使用数据框列名作为术语,将列值作为它们的幂
- android - 保护视图(免受所有无障碍服务、间谍软件和类似软件的影响)
- react-native - 无法读取 react-native >0.59 中的文件内容
- binary - 如何绘制多元二进制数据
- python - 什么缺少这个正则表达式来匹配 apache 日志的行?