我需要为本机字符编码一些文本文件。
在我的Windows 8.1商店应用中,我可以正常使用Encoding.GetEncoding()
方法:
Encoding.GetEncoding("windows-1254")
但是在UWP应用程序中,我遇到了这个例外:
其他信息:'windows-1254'不是受支持的编码名称。有关定义自定义编码的信息,请参阅Encoding.RegisterProvider方法的文档。
我不知道如何使用 Encoding.RegisterProvider
方法让任何想法成功?
答案 0 :(得分:29)
我们需要使用CodePagesEncodingProvider来注册该特定提供程序中包含的扩展编码。请参阅CodePagesEncodingProvider班级
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Encoding.GetEncoding("windows-1254");
参考https://msdn.microsoft.com/en-us/library/system.text.encodingprovider(v=vs.110).aspx
.NET Framework类库提供了一个静态属性, P:System.Text.CodePagesEncodingProvider.Instance,返回一个 EncodingProvider对象,使完整的编码集可用 在.NET Core可用的桌面.NET Framework类库中 应用
MSDN论坛中的相关主题:Encoding.RegisterProvider -- How to use?