Console.OutputEncoding 属性

定义

获取或设置控制台用于写入输出的编码。

public:
 static property System::Text::Encoding ^ OutputEncoding { System::Text::Encoding ^ get(); void set(System::Text::Encoding ^ value); };
public static System.Text.Encoding OutputEncoding { get; set; }
public static System.Text.Encoding OutputEncoding { get; [System.Runtime.Versioning.UnsupportedOSPlatform("android")] [System.Runtime.Versioning.UnsupportedOSPlatform("ios")] [System.Runtime.Versioning.UnsupportedOSPlatform("tvos")] set; }
member this.OutputEncoding : System.Text.Encoding with get, set
[<set: System.Runtime.Versioning.UnsupportedOSPlatform("android")>]
[<set: System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<set: System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.OutputEncoding : System.Text.Encoding with get, set
Public Shared Property OutputEncoding As Encoding

属性值

Encoding

用于写入控制台输出的编码。

属性

例外

集运算中的属性值为 null

执行此操作期间出错。

你的应用程序没有执行此操作的权限。

注解

控制台使用输出编码将应用程序编写的字符转换为相应的控制台显示字符。 控制台使用的默认代码页由系统区域设置决定。

从 .NET Framework 4 开始,属性获取操作可能返回缓存值,而不是控制台的当前输出编码。 如果属性的值 OutputEncoding 由其他方法(而不是对属性的赋值 OutputEncoding )修改,例如调用 Windows 函数,则可能会发生这种情况 SetConsoleOutputCP

调用方说明

在 Unicode 编码中, Console 类支持具有类的 utf-8 编码, UTF8Encoding 从 .NET Framework 4.5 开始,它支持具有类的 utf-16 编码 UnicodeEncoding 。 不支持具有类的 UTF-32 编码 UTF32Encoding 。 尝试将输出编码设置为 32 UTF-8 会引发 IOException

请注意,将 Unicode 字符成功地显示到控制台需要以下各项:

-控制台必须使用 TrueType 字体(如宋体或 Consolas)来显示字符。

-控制台使用的字体必须定义要显示的特定标志符号或字形。 如果基本字体不包含该标志符号的定义,则控制台可以利用字体链接来显示链接字体中的字形。

有关控制台支持 Unicode 编码的详细信息,请参阅类中的 "为控制台提供 Unicode 支持" 部分 Console

适用于