共通デスクトップ環境 プログラマーズ・ガイド (国際化対応編)

コード・セットの構造

各コード・セットは 2 つの主な領域に分かれます。

各コード・セットの最初の 2 列は、制御文字用に ISO 標準が確保しています。C0 と C1 は、それぞれグラフィック・レフトとグラフィック・ライトの領域用の制御文字を表すのに使用されます。


注 –

PC コード・セットは、グラフィック文字をエンコードするのに C1 コントロール領域を使用します。


残りの 6 列はグラフィック文字をエンコードするのに使用されます (図 3–1 参照)。グラフィック文字は印刷可能な文字と見なされます。制御文字は、デバイスとアプリケーションによって特別な機能を表すために使用されます。

図 3–1 コード・セットの概要

Graphic

制御文字

ISO 定義に基づき、制御文字は動作を開始、変更、停止します。制御文字はグラフィック文字ではありませんが、場合によってはグラフィック表現を持つことができます。ISO646-IRV 文字セットの制御文字は、サポートされているすべてのコード・セット内にあります。C0 制御文字のエンコードされた値は、あらゆるコード・セットを通じて一貫しています。

グラフィック文字

各コード・セットは、各文字に固有のコード値が与えられるように、1 つ以上の文字セットに分かれると考えられます。ISO 標準は 6 つの列を文字のエンコーディングのために確保しており、グラフィック文字を制御文字の列でエンコードできません。

シングルバイト・コード・セット

1 バイトの 8 ビットすべてを使用するコード・セットは、ヨーロッパ、中東その他のアルファベット言語をサポートします。そのようなコード・セットはシングルバイト・コード・セットと呼ばれます。シングルバイト・コード・セットは、文字のエンコーディングを制御文字を除いて 191 文字までに制限しています。

マルチバイト・コード・セット

マルチバイト・コード・セットは、特定の文字をエンコードするのに必要なバイト数に関わらず、すべての可能なコード・セットを指します。オペレーティング・システムは 1 文字をエンコードするのに何ビットでもサポートできるので、マルチバイト・コード・セットには、8 ビット、16 ビット、32 ビット、あるいはそれ以上のビットでエンコードされた文字を含めることが可能です。シングルバイト・コード・セットもマルチバイト・コード・セットと考えられます。

EUC (拡張 UNIX コード) コード・セット

EUC コード・セットは、一部の文字セットの中で文字を識別するのに制御文字を使用します。エンコーディング規則は ISO2022 の 7 ビット・データと 8 ビット・データのエンコーディングの定義に基づいています。EUC コード・セットは一部の文字セットを区切るのに制御文字を使用します。

EUC という用語はそのような一般的なエンコーディング規則を指します。EUC に基づくコード・セットは EUC エンコーディング規則に準拠しますが、特定の場合に関連付けられた特定の文字セットも識別します。たとえば、日本語用 eucJP は EUC エンコーディング規則による JIS 文字のエンコーディングを指します。

最初のセット (CS0) には常に ISO646 文字セットが含まれます。他のすべてのセットは、最上位ビット (MSB) を 1 に設定しなければならず、文字をエンコードするのに何バイトでも使用できます。さらに、1 つのセットの中のすべての文字は次のようでなければなりません。

3 番目のセット (CS2) の各文字の前には、常に制御文字 SS2 (シングルシフト 2、0x8e) が付きます。EUC に準拠するコード・セットは、3 番目のセットを識別する目的以外では制御文字 SS2 を使用しません。

4 番目のセット (CS3) の各文字の前には、常に制御文字 SS3 (シングルシフト 3、0x8f) が付きます。EUC に準拠するコード・セットは、4 番目のセットを識別する目的以外では制御文字 SS3 を使用しません。