Monthly Archives: August 2015

[UWP] .NetCore(Build 10240)のEncodingクラスでShift-JISが利用出来ない件

.NET Core(Build 10240)のEncodingクラスのメソッドGetEncoding()でShift-JISを取得しようとすると以下のようなエラーが発生します。

問題のコード
Encoding enc = Encoding.GetEncoding(“Shift_JIS”);

エラー内容
‘Shift_JIS’ is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
Parameter name: name

従来の.NET 4.6(Form/WPF)では正常に取得出来ている為、.NET Coreのバグ or 仕様変更かと思われます。クラスリファレンス内に、これに関する詳細情報を見つけることが出来ませんでした。
尚、現時点(Build 10240)では、Portable.Text.Encodingを利用してこの問題を回避出来ます。

http://www.nuget.org/packages/Portable.Text.Encoding/

PTEを利用したコード
Encoding enc = Portable.Text.Encoding.GetEncoding(“Shift_JIS”);