拡張 UNIX コード (EUC) エンコード・スキーム
EUC エンコード・スキームでは、 1 から 4 つの文字セットをサポートできるエンコード規則群を定義しています。 エンコード規則は、7 ビットおよび 8 ビット・データをエンコードするための、 ISO2022 定義に基づいています。 EUC エンコード・スキームでは、いくつかの文字セットを識別するために制御文字を使用します。 次の表は、すべての EUC エンコードの基本構造を示しています。
| EUC | 文字エンコード |
|---|---|
| CS0 | 0xxxxxxx |
| CS1 | 1xxxxxxx
1xxxxxxx 1xxxxxxxx 1xxxxxxx 1xxxxxxxx 1xxxxxxx ... |
| CS2 | 10001110 1xxxxxxx
10001110 1xxxxxxx 1xxxxxxxx 10001110 1xxxxxxx 1xxxxxxxx 1xxxxxxxx ... |
| CS3 | 10001111 1xxxxxxx
10001111 1xxxxxxx 1xxxxxxxx 10001111 1xxxxxxx 1xxxxxxxx 1xxxxxxxx ... |
EUC という語は、これらの汎用エンコード規則を示しています。 EUC に基づくコード・セットは、EUC エンコード規則に準拠していますが、 さらに、特定のインスタンスに関連付けられた特定の文字セットを識別します。 例えば、日本語の IBM-eucJP は、EUC エンコード規則に従って、 日本工業規格文字のエンコードを参照します。
最初のセット (CS0) には、必ず ISO646 文字セットが含まれています。 他のすべてのセットでは、最大重みビット (MSB) を 1 にセットしなければならず、 文字をエンコードするときに任意のバイト数を使用できます。 さらに、セット内のすべての文字に関して、次の条件を満たす必要があります。
- すべての文字をエンコードするために同じバイト数でなければならない
- 同じ列表示幅 (固定幅の端末装置での列数) でなければならない
3 番目のセット (CS2) の文字にはすべて、先頭に制御文字 SS2 (単一シフト 2、 0x8e) が付けられます。 EUC に準拠するコード・セットでは、3 番目のセットを識別する目的以外に、 SS2 制御文字を使用することはありません。
4 番目のセット (CS3) の文字にはすべて、先頭に制御文字 SS3 (単一シフト 3 0x8f) が付けられます。 EUC に準拠するコード・セットでは、4 番目のセットを識別する目的以外に、 SS3 制御文字を使用することはありません。