.Net Core HttpClient读取GB2312网页乱码
2024-10-12
84
.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,这些类可以帮助你在不同的编码之间进行转换,并确保你的应用程序能够正确处理各种文本数据。
更新于:3个月前赞一波!3
相关文章
- .NET C# 使用Hook钩子实现全局监听键盘和鼠标
- BotSharp 基于 .NET 平台的开源 AI 聊天机器人框架
- .NET C#连接FTP实现文件上传下载
- ABP.Net Core使用教程(一)启动模版项目
- .net 通过 HttpClient 下载文件同时报告进度的方法
- .NET C#中的Func、Predicate和Expression用法详解
- 5个高性能 .NET Core 图片处理库推荐
- ASP.NET如何将Views文件夹从项目分离
- .NET C# 读取编辑.AVIF图片文件
- .NET C# SkiaSharp读取.AVIF图片文件报错
- .NET开源ORM FreeSql常见问题和解决方法
- 微软于发布了.NET 9 Release Candidate 2 提高整体质量
- 分享5个开源的.NET Excel读写操作库
- .Net Core中Dapper的使用详解
- ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
- 如何从.NET Framework迁移到.NET Core或.NET 6/7?
- 如何优化ASP.NET Core应用的性能?
- 10款.NET开发中推荐的代码分析和质量工具
- .NET9 Blazor有哪些更新?
- 在Docker、Kubernetes环境下部署.NET应用的最佳实践
文章评论
评论问答