EUC-JPもISO 2022準拠のエンコーディングスキームの一種で圧縮表現と固定長表現の2つの設計がありますが、固定長表現はほとんど使用されていませんので当コンテンツでは圧縮表現を解説したいと思います。EUC-JPは8ビット系のISO 2022の応用でG0/G1/G2/G3を固定してGL/GRに呼び出します。
| 指示バッファ | 呼び出し | 文字集合 |
|---|---|---|
| G0 | GL(固定) | ASCII |
| G1 | GR(固定) | JIS X 0208:1997 |
| G2 | GR(SS2) | JIS X 0201(半角カナ) |
| G3 | GR(SS3) | JIS X 0212-1990 |
表のとおり、JIS X 0201/JIS X 0212を呼び出す場合はシングルシフトが使用されますのでSS2/SS3のエスケープシーケンスが付加され結果的にはJIS X 0201は2バイトに、JIS X 0212の補助漢字は3バイト構成となります。ASCIIを含めると1〜3バイトまでの混合ということになります。
本来、EUC-JPはSS2およびSS3のエスケープシーケンスを使用したモーダルコードなわけですが、現状ではG0〜G3のコードが固定されているため、SS2/SS3を文字の一部と考えてモードレスな文字コードとして扱われる事が多いようです。ただしG0〜G3を固定してしまった結果EUC−JPでは日本語以外のコードは表現できず複数の国語の混在はできないことになります。
G0にJIS X 0213:2000の1面(第1〜第3水準漢字)、G3にJIS X 0213:2000の2面(第4水準漢字)を使えるようにしています。G2はEUC-JPと同じJIS X 0201(半角カナ)ですが、原則として使用しないことが明記されています。