コンソールのコード ページ
コード ページは、256 文字コードの個々の文字へのマッピングです。 異なるコード ページには異なる特殊文字が含まれ、それらは通常は 1 つの言語または言語グループ用にカスタマイズされています。
各コンソールに関連付けられるコード ページは、入力用と出力用の 2 つがあります。 コンソールでは、入力コード ページを使用して、キーボード入力を対応する文字値に変換します。 これは、出力コード ページを使用して、さまざまな出力関数によって書き込まれた文字値を、コンソール ウィンドウに表示されるイメージに変換します。 アプリケーションでは、SetConsoleCP 関数と GetConsoleCP 関数を使用して、コンソールの入力コード ページを設定および取得し、SetConsoleOutputCP 関数と GetConsoleOutputCP関数を使用して、出力コード ページを設定および取得できます。
ローカル コンピューターで使用できるコード ページの識別子は、次のキー、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
の下のレジストリに格納されます。
レジストリ関数を使用して使用可能なコード ページを決定する方法については、「レジストリ」を参照してください。
ヒント
すべての新規および更新されたコマンド ライン アプリケーションについて、コード ページを回避し、Unicode を使用することが推奨されます。 UTF-16 形式のテキストは、コンソール API の W ファミリに送信できます。 UTF-8 形式のテキストは、SetConsoleCP 関数と SetConsoleOutputCP 関数を使用してコード ページが最初に 65001 (CP_UTF8) に設定されていることを確認した後、コンソール API の A ファミリに送信できます。