.Net Core HttpClient读取GB2312网页乱码
2024-10-12
16
.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,这些类可以帮助你在不同的编码之间进行转换,并确保你的应用程序能够正确处理各种文本数据。
更新于:6天前赞一波!
相关文章
- ASP.NET Core 2.1中的ActionResult<T>
- .NET Core 3.0创建一个单独的可执行文件
- 在ASP.NET Core 2.1中使用HttpClientFactory的3种方法
- .NET Core MVC应用程序创建教程
- .NET Core中的File和PhysicalFile
- .NET Core 读取配置文件方法
- .NET Core 管道模型中间件及管道模拟实现
- ASP.NET Core多环境配置
- .NET Core 日志配置,NLog配置示例
- ASP.NET Core主机和应用启动流程
- .NET Core SkiaSharp替代System.Drawing的用法
- .NET Core 3.X路由中间件和终结点中间件
- .Net报错Could not find a part of the path bin\roslyn\csc.exe
- IIS中.NET Core报错HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
- .NET Core分部视图PartialView用法
- .NET Core 视图组件Component用法
- ASP.NET Core的三种部署方式
- .NET Core中使用System.Drawing处理图像
- .NET Core Razor Page ajax请求返回400 Bad request
- .NET Core上传文件报Access xxx.tmp is denied错误
文章评论
评论问答