【问题标题】:How to find Encoding for 1251 codepage如何查找 1251 代码页的编码
【发布时间】:2010-10-19 11:11:53
【问题描述】:

我需要为 1251 代码页创建 System.Encoding。

在我使用的俄语 Windows 上

Encoding encoding = Encoding.Default

恐怕这会根据 Windows 产生不同的结果

【问题讨论】:

标签: c# .net encoding


【解决方案1】:

对于 .NET Core,您还需要引用 System.Text.Encoding.CodePages 包,然后使用 Encoding.RegisterProvider:

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

【讨论】:

    【解决方案2】:

    正确,使用Encoding.Default会在不同的机器上得到不同的结果。

    如果你想要一个特定的代码页,你可以使用Encoding.GetEncoding:

    Encoding encoding = Encoding.GetEncoding("windows-1251");
    

    【讨论】:

    • 是的,我应该只有 RTFM。另一种选择是按名称而不是数字指定代码页。在我的情况下,这将是 windows-1251
    【解决方案3】:

    .NET Framework/.NET Core 支持大量字符编码和代码页。若要检索 .NET Framework/.NET Core 中存在的编码,请将 EncodingProvider 对象传递给 Encoding.RegisterProvider 方法,以使 EncodingProvider 对象提供的编码可用于公共语言运行时。 Microsoft Document Reference

    System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
    

    【讨论】:

      猜你喜欢
      • 2011-09-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多