This documentation is archived and is not being maintained.

Console::InputEncoding Property

Updated: May 2012

Gets or sets the encoding the console uses to read input.

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

static property Encoding^ InputEncoding {
	Encoding^ get ();
	void set (Encoding^ value);

Property Value

Type: System.Text::Encoding
The encoding used to read console input.


The property value in a set operation is nullptr.


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 input encoding to translate keyboard input into a corresponding character. The input encoding incorporates a code page that maps 256 keyboard character codes to individual 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, an InputEncoding property get operation may return a cached value rather than the console's current input encoding. This can occur if the value of the InputEncoding property is modified by some means other than an assignment to the InputEncoding property, such as calling the Windows SetConsoleCP function or using the chcp command from a PowerShell script.

.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.




May 2012

Noted that the InputEncoding property can return a cached value.

Content bug fix.