.Net Coreで、GetEncoding("Shift_JIS")とするとエラーになる。
var sjisEnc = Encoding.GetEncoding("Shift_JIS");
エンコードリストにShift_JISが無いことに起因する。
Shift_JISが使えるように以下をNugetからインストールする。
NuGet Gallery | System.Text.Encoding.CodePages 4.5.1
sJISを使う前に、Encoding.RegisterProvider()
をコールする事でSJISが使えるようになる。
using System.Text;
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var sjisEnc = Encoding.GetEncoding("Shift_JIS");
おまけ
サポートしているすべてのエンコーディングを取得する
//サポートしているすべてのエンコーディングを取得する
var eis = System.Text.Encoding.GetEncodings();
foreach (System.Text.EncodingInfo ei in eis)
{
Console.WriteLine("{0}\t{1}\t{2}", ei.DisplayName, ei.CodePage, ei.Name);
}
結果
Unicode 1200 utf-16
Unicode (Big-Endian) 1201 utf-16BE
Unicode (UTF-32) 12000 utf-32
Unicode (UTF-32 Big-Endian) 12001 utf-32BE
US-ASCII 20127 us-ascii
Western European (ISO) 28591 iso-8859-1
Unicode (UTF-7) 65000 utf-7
Unicode (UTF-8) 65001 utf-8