コード ページ
"コード ページ" は文字セットです。数字、句読点、その他のグリフを入れることができます。 言語やロケールが異なると、コード ページも異なる場合があります。 たとえば、ANSI コード ページ 1252 は英語やほとんどのヨーロッパ言語で使われていますが、日本語の漢字には OEM コード ページ 932 が使われています。
コード ページはテーブルで表すことができます。文字を 1 バイトまたはマルチバイトの値にマッピングします。 多くのコード ページは、範囲 0x00 - 0x7F の文字に関して、ASCII 文字セットを共有しています。
Microsoft ランタイム ライブラリでは、次の種類のコード ページが使用されています。
システム既定の ANSI コード ページ。 既定では、ランタイム システムは起動時に、オペレーティング システムから取得されたシステムの既定の ANSI コード ページにマルチバイト コード ページを自動的に設定します。 呼び出し:
setlocale ( LC_ALL, "" );
また、システム既定の ANSI コード ページにロケールを設定します。
ロケールのコード ページ。 複数のランタイム ルーチンの動作は、ロケール コード ページを含む現在のロケール設定に依存します。 (詳細については、 ロケール)。)既定では、Microsoft ランタイム ライブラリ内のすべてのロケール依存ルーチンは、"C" ロケールに対応するコード ページを使用します。 実行時に、呼び出し
setlocale
で使用されているロケール コード ページを変更またはクエリできます。マルチバイト コード ページ。 ランタイム ライブラリのマルチバイト文字のほとんどの動作は、現在のマルチバイト コード ページ設定に依存します。 既定では、これらのルーチンではシステム既定の ANSI コード ページが使用されます。 実行時に、マルチバイト コード ページに対してクエリを実行し、それぞれを使用
_getmbcp
して_setmbcp
変更できます。"C" ロケールは、従来、C プログラムが実行されていたロケールに対応するよう、ANSI により定義されます。 "C" ロケールのコード ページ ("C" コード ページ) は ASCII 文字セットに対応します。 たとえば、"C" ロケールでは、
islower
は値 0x61 - 0x7A にのみ true を返します。 別のロケールでは、islower
そのロケールで定義されているように、これらの値と他の値に対して返されるtrue
場合があります。