【发布时间】:2017-03-12 22:23:09
【问题描述】:
在net45,Encoding.GetEncoding("Shift-JIS") 工作正常,但在netstandard 下它会抛出:
System.ArgumentException : 'Shift-JIS' 不是受支持的编码名称。有关定义自定义编码的信息,请参阅 Encoding.RegisterProvider 方法的文档。
它引用的文档提到了通过 CodePagesEncodingProvider 支持 UWP 下的 .NET Core Native,但没有提到 netstandard 的一般用途。
那么,是否可以在 netstandard 库中使用 Shift-JIS 编码?
【问题讨论】:
-
CodePagesEncodingProvider 附带 System.Text.Encoding.CodePages 包,它不是 netstandard (github.com/dotnet/corefx/blob/master/pkg/NETStandard.Library/…) 的一部分,而是 netcore 的一部分,所以我猜,答案是否定的,除非你写您自己的 Encoding 和 EncodingProvider。我相信 System.Text.Encoding.CodePages 不属于 netstandard 的原因是因为它现在依赖于 Windows API/资源。
标签: .net character-encoding .net-core .net-standard