.Net Core HttpClient读取GB2312网页乱码
2024-10-12
38
.NET Core使用HttpClinet抓取网页,使用Encoding.UTF8.GetString(arr)方法获取网页内容时中文会变成乱码。
但是如果改为Encoding.GetEncoding("gb2312").GetString()方法的话会报错:'gb2312' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. (Parameter 'name')。
解决方法是安装System.Text.Encoding.CodePages包,安装后注册provider:
EncodingProvider provider = CodePagesEncodingProvider.Instance;
Encoding.RegisterProvider(provider);
这样就正常了。
在 .NET 应用程序中,CodePages 命名空间可以用于处理各种文本文件的编码。例如,在读取一个文本文件时,你可能需要将其从 UTF-8 编码转换为 ASCII 编码,以便在另一个程序中使用。CodePages 命名空间提供了一些实用的类,例如 Encoding 和 Decoder,可帮助你进行这些操作。
另外,CodePages 命名空间还提供了一些编码器和解码器类,例如 UTF8Encoding 和 UnicodeEncoding,这些类可以帮助你在不同的编码之间进行转换,并确保你的应用程序能够正确处理各种文本数据。
更新于:1个月前赞一波!
相关文章
- 什么是.NET渐进式Web应用(PWA)
- .NET开发中常见的异常报错原因和解决方法?
- .NET框架和CLR的工作原理?
- ASP.NET MVC与Web Forms的区别
- .NET C#中的IEnumerable和IEnumerator的区别
- 使用ADO.NET连接到南大通用GBase 8s数据库
- 鸿蒙OpenHarmony系统可以运行跨平台的.NET Core吗?
- ASP.NET Core使用partial标签报错
- .NET 9 即将推出的功能Task.WhenEach
- .NET 使用HttpClientFactory+Polly替代直接使用HttpClient
- .NET Framework被淘汰了吗?
- 强大的 .NET Mock 框架 单元测试模拟库Moq使用教程
- Asp.Net Core进程内托管 和 进程外托管的区别
- 什么是.NET云原生应用程序?
- ASP.NET Core实现多语言本地化Web应用程序
- PDFiumCore | .NET Core PDF 处理渲染库
- .NET Blazor 2024年发展趋势
- 解决.NET JAVA PHP中写入及读取memcache中数据不一致的方法
- .NET调试Windows服务的方法
- ASP.NET Core 2.1中的ActionResult<T>
文章评论
评论问答