Console.OutputEncoding プロパティ

定義

コンソールが出力内容の書き込み時に使用するエンコーディングを取得または設定します。

C#
public static System.Text.Encoding OutputEncoding { get; set; }
C#
public static System.Text.Encoding OutputEncoding { get; [System.Runtime.Versioning.UnsupportedOSPlatform("android")] [System.Runtime.Versioning.UnsupportedOSPlatform("ios")] [System.Runtime.Versioning.UnsupportedOSPlatform("tvos")] set; }

プロパティ値

Encoding

コンソールが出力内容の書き込みに使用するエンコーディング。

属性

例外

設定操作でのプロパティ値は null です。

この操作の実行中にエラーが発生しました。

アプリケーションに、この操作を実行するための権限がありません。

注釈

コンソールは、出力エンコードを使用して、アプリケーションによって書き込まれた文字を対応するコンソール表示文字に変換します。 コンソールで使用される既定のコード ページは、システム ロケールによって決まります。

.NET Framework 4 以降では、プロパティの取得操作は、コンソールの現在の出力エンコードではなくキャッシュされた値を返す場合があります。 これは、プロパティの値が、Windows関数のOutputEncoding呼び出しなど、プロパティへのOutputEncoding割り当て以外の何らかの方法で変更された場合にSetConsoleOutputCP発生する可能性があります。

注意 (呼び出し元)

Unicode エンコーディングのうち、クラスはConsoleクラスで UTF-8 エンコードをUTF8Encodingサポートし、.NET Framework 4.5 以降では、クラスでの UTF-16 エンコードをUnicodeEncodingサポートしています。 クラスを使用した UTF32Encoding UTF-32 エンコードはサポートされていません。 出力エンコードを UTF-32 に設定しようとすると、 IOException.

コンソールに Unicode 文字を正常に表示するには、次のものが必要であることに注意してください。

  • 本体で文字を表示するには、Lucida コンソールや Consolas などの TrueType フォントを使用する必要があります。

  • コンソールで使用されるフォントでは、表示する特定のグリフを定義する必要があります。 ベース フォントにそのグリフの定義が含まれていない場合は、コンソールでフォント リンクを利用して、リンクされたフォントのグリフを表示できます。

コンソールによる Unicode エンコードのサポートの詳細については、クラスの「コンソールの Unicode サポート」セクションを Console 参照してください。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1