例えば .NET Core でテキストファイルを出力するとき、文字コードに Shift-JIS を指定するには
System.Text.Encoding.CodePages
が必要だった。
using System; using System.IO; using System.Text; namespace EncodingSample { class Program { static void Main(string[] args) { // エンコードプロバイダーの登録が必要 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); var path = Path.Combine(".", "result.txt"); using (var stream = File.OpenWrite(path)) { // エンコードプロバイダーを登録していなかったら // ArgumentException が発生してしまう using (var writer = new StreamWriter(stream, Encoding.GetEncoding("shift_jis"))) { writer.WriteLine("Hello,World!"); } } Console.WriteLine("Enter で終了"); Console.ReadLine(); } } }