Extended Unix Code
Extended Unix Code(EUC)は、UNIX上でよく使われる文字コードの符号化方式である。
- 日本語EUC
- JIS X 0208ベース (EUC-JP)
- JIS X 0213ベース (EUC-JIS-2004)
- 韓国語EUC (EUC-KR)
- 簡体字中国語EUC (EUC-CN)
- 繁体字中国語EUC (EUC-TW)
などがある。
概要
バイト単位の可変長コードであるEUC Packed Formatと、2バイト固定長のEUC Fixed Width Formatがある。前者は情報交換用、後者は内部処理用で、一般にEUCという場合前者を指す。ここでも前者について解説する。
ISO/IEC 2022を基に、以下のようなサブセット化を行った体系である。
- G0にASCII(主コードセット)を、G1-G3に各言語の文字集合(補助コードセット1-3)を暗黙に指示する。指示のエスケープシーケンスは用いない。
- GLにG0を、GRにG1を暗黙に呼び出す。G2/G3はシングルシフト2/3によりGRに呼び出す。ロッキングシフトは用いない。
補助コードセットが0x80-0xFFの範囲で表されるため、主コードセットと衝突することがない。すなわちShift_JISにおける円記号問題のようなことが起きないというメリットがある。
具体的に局所化したそれぞれの版について、日本語では「 - 語EUC」や「 - 語版EUC」のように呼ばれることが多い。
日本語EUC
日本国の規格を応用したEUCである。
JIS X 0208ベース
一般に日本語EUCという場合こちらを指す。EUC-JPともいう。ここで、JP
は日本国を表す国・地域コードであって、日本語を表す言語コード (ja
) でない。
UNIXの標準的な日本語コードとして広く使われている。UNIX SYSTEM V リリース 4 日本語環境共通規約において、JIS X 201 カタカナとJIS X 212 補助漢字は実装が必須ではないとされていた。このため、特にJIS X 0212は実装されていないことも多い。通信などで用いる場合はこの点に注意が必要である。
- G0 - ASCII
- G1 - JIS X 0208
- G2 - JIS X 0201カタカナ
- G3 - JIS X 0212補助漢字
なお、G2とG3を使わない場合はJIS X 0208:1997の「国際基準版・漢字用8ビット符号」と同一となる。
JIS X 0213ベース
JIS X 0213:2004ベースのものをEUC-JIS-2004という(2000年版はEUC-JISX0213)。JIS X 0213の附属書3に記載がある。フリー/オープンソースソフトウェアなどで使われていることがある。
- G0 - ASCII
- G1 - JIS X 0213 1面
- G2 - JIS X 0201カタカナ
- G3 - JIS X 0213 2面
韓国語EUC
韓国で広く使われている。EUC-KRともいう。ここで、KR
は韓国の国・地域コードであって、朝鮮語の言語コード (ko
) ではない。単にKS C 5601といった場合でも、文字集合としてのKS C 5601でなく、EUC-KRのことを指している場合が多い。
- G0 - ASCII
- G1 - KS X 1001 (KS C 5601)
- G2 - なし
- G3 - なし
EUC-KRを拡張したUHC (Unified Hangul Code) という体系も存在する。
簡体字中国語EUC
中国で広く使われている。EUC-CNともいう。ここで、CN
は中国の国・地域コードであって、簡体字の用字系コード (Hans
) でも中国語の言語コード (zh
) でもない。単にGB 2312といった場合でも、文字集合としてのGB 2312でなく、EUC-CNのことを指している場合が多い。
- G0 - ASCII
- G1 - GB 2312
- G2 - なし
- G3 - なし
EUC-CNを拡張したGBKという体系も存在する。
繁体字中国語EUC
EUC-TWともいう。ここで、TW
は台湾の国・地域コードであって、繁体字の用字系コード (Hant
) でも中国語の言語コード (zh
) でもない。台湾の規格であるが、あまり使われておらず、一般にはBig5が使われる。
G2の文字は以下の4バイトで構成される。
- シングルシフト2 (0x8E)
- 字面を選択するコード(0xA2-0xB0)
- 文字の第1バイト(0xA1-0xFE)
- 文字の第2バイト(0xA1-0xFE)