NET Framework项目转 Asp.NET Core 8项目时Encoding.Default.GetBytes(strMarcContent) 迁移问题
迁移 Encoding.Default.GetBytes(strMarcContent);
.NET 中,默认的编码取决于具体的上下文,在 .NET Framework 中,Encoding.Default 返回系统的 ANSI 代码页(在中文 Windows 上通常是 GB2312 或 GB18030)
.NET Core / .NET 5+ 中,Encoding.Default 默认是 UTF-8,且无法直接修改.
Core5+以上如下设置:
1.安装Nuget包:
System.Text.Encoding.CodePages
2.注册编码提供程序
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
3.将
Encoding.Default.GetBytes(strMarcContent)
改为自己想要的GB2312:
Encoding.GetEncoding("GB2312").GetBytes(strMarcContent);
浙公网安备 33010602011771号