Dre*_*kes 6 .net character-encoding .net-core .net-standard
在net45,Encoding.GetEncoding("Shift-JIS")工作正常,但在netstandard它下面抛出:
System.ArgumentException:'Shift-JIS'不是受支持的编码名称.有关定义自定义编码的信息,请参阅Encoding.RegisterProvider方法的文档.
它引用的文档提到了对CodePagesEncodingProviderUWP下的.NET Core Native的支持,但没有任何通用用法netstandard.
那么,是否可以在netstandard库中使用Shift-JIS编码?
对的,这是可能的。在以下位置引用System.Text.Encoding.CodePages包project.json:
"System.Text.Encoding.CodePages": "4.0.1"
Run Code Online (Sandbox Code Playgroud)
在获取Shift-JIS编码之前,请调用以下代码:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Run Code Online (Sandbox Code Playgroud)
和你一起去是很好的:
Encoding.GetEncoding("Shift-JIS")
Run Code Online (Sandbox Code Playgroud)
更新:
NETStandard.Library 1.6包中没有捆绑System.Text.Encoding.CodePages,但是从类库中引用System.Text.Encoding.CodePages没问题netstandard(直到您的类库目标netstandard1.2或更低版本)。
这是带有代码的示例解决方案。有一个目标为类的类库netstandard1.3和一个使用netcoreapp1.0并引用该类库的使用中的控制台应用程序。类库包含对应于Shift-JIS编码检索的代码。也可以从针对其他框架的应用程序中引用和使用它。
| 归档时间: |
|
| 查看次数: |
979 次 |
| 最近记录: |