.Net Core HttpClient读取GB2312网页乱码
2024-10-12
45
.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个月前赞一波!
相关文章
- Sylvan.Data.Excel 性能优异的开源.NET Excel数据读取库
- ASP.NET Core 中常用的内置中间件
- .NET9 F#有什么新特性?
- .NET 开源 ORM FreeSql 使用教程
- .NET9 C# 13 有哪些新特性?
- .NET9 开始删除内置的 Swagger 支持 可使用Scalar.AspNetCore替代
- .NET 9 中System.Text.Json 的新增功能
- 【说站】java中HttpClient的错误处理
- 什么是.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使用教程
文章评论
评论问答