我需要为1251代码页创建System.Encoding。
在我的俄语Windows上我使用
Encoding encoding = Encoding.Default
我担心这会产生不同的结果,具体取决于Windows
答案 0 :(得分:34)
正确,如果您使用Encoding.Default
,您将在不同的计算机上获得不同的结果。
如果您需要特定的代码页,可以使用Encoding.GetEncoding:
Encoding encoding = Encoding.GetEncoding("windows-1251");
答案 1 :(得分:4)
对于.NET Core,您还需要引用System.Text.Encoding.CodePages包,然后使用Encoding.RegisterProvider:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
答案 2 :(得分:0)
.NET Framework / .NET Core支持大量的字符编码和代码页。若要检索.NET Framework / .NET Core中存在的编码,请将EncodingProvider对象传递给Encoding.RegisterProvider方法,以使EncodingProvider对象提供的编码可用于公共语言运行时。 Microsoft Document Reference
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);