This documentation is archived and is not being maintained.

Console.OutputEncoding Property

Updated: March 2012

Gets or sets the encoding the console uses to write output.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

static member OutputEncoding : Encoding with get, set

Property Value

Type: System.Text.Encoding
The encoding used to write console output.


The property value in a set operation is a null reference (Nothing in Visual Basic).


This property's set operation is not supported on Windows 98, Windows 98 Second Edition, or Windows Millennium Edition.


An error occurred during the execution of this operation.


Your application does not have permission to perform this operation.

The console uses the output encoding to translate characters written by an application into corresponding console display characters. The output encoding incorporates a code page that maps 256 characters to individual console display characters. Different code pages include different special characters, typically customized for a language or a group of languages.

Starting with the .NET Framework version 4, a property get operation may return a cached value rather than the console's current output encoding. This can occur if the value of the OutputEncoding property is modified by some means other than an assignment to the OutputEncoding property such as calling the Windows SetConsoleOutputCP function.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.




March 2012

Noted that the property value may be cached.

Customer feedback.