国際化対応言語環境の利用ガイド

複数バイトサポート環境

複数バイト文字はシングルバイトとして保存できない文字の総称で、中国語、日本語、韓国語などの文字を含みます。複数バイト文字を格納するには、2、3、または 4 バイトが必要です。より詳細な定義については、ISO/IECC 9899:1990 サブクラス 3.13 の項目を参照してください。

ANSI C の Amendment 1 (ISO/IEC 9899:1990) では、Multibyte Support Environment (MSE) と呼ぶ新しい国際化機能が追加されました。Amendment 1 には、状態属性を持つ複数バイトコードセットやワイド文字の処理サポートを強化するための新しい国際化 API が定義されています。

プログラミングモデルでは、これらの複数バイト文字を論理ユニットとして読み込み、ワイド文字として内部的に保持できます。プログラム内において、ワイド文字は論理エン ティティとして取り扱うことができます。また、適切な変換処理を行なったのち、これらワイド文字を論理ユニットとして出力できます。

この手順は、シングルバイト文字を読み込んで加工したのち出力する場合と似ています。このため MSE によって、シングルバイト文字の場合と同じプログラミングモデルを用いて複数バイト文字をプログラムで取り扱うことができます。