ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
日本語向けのISO/IEC 2022のサブセットで8ビット符号の拡張法を用いている、EUCの一種。
EUC-JPはあくまで符号化方法(CES)であり、文字集合(CCS)の規定ではない。
文字集合には日本語のCCSが使われるが、全てが慣例に基づくもので、RFCすらも無い。IANAに登録されている識別名は通称と同じ「EUC-JP」であり、CCSに純粋なJIS X 0208が使われている。
一般的なCESとしてのEUC-JPに、様々な文字集合(CCS)を当てはめた符号が、様々に使われている。
このほかにも無数に存在する。
また、このCES自体を拡張してしまったものも存在する。
基本的なEUC-JPは、2バイト文字に対し、次の範囲を使う。
必要に応じ、SS2やSS3が先行し3バイトとなることがあるが、続く2バイトの範囲は維持される。
但し、ISO/IEC 2022に違反するが2バイト目を拡張したものもあり、代表例として「EUC-HJ」がある。EUC-HJは、次のようになっている。
EUC-JPは、文字集合が各バッファーに呼び出し指示された状態で開始される。しかし、どの文字集合が初期状態であるかは、実装によりまちまちである。
ごく一般的な実装では、次の通り。
この場合、GLには常にG0、GRには常にG1が呼び出されている。
場合により、G2は未使用、G3は未使用、G3は全領域が外字領域、G3は独自の文字集合、といったものがある。
代表例を幾つか紹介する。
IANAに登録されたもので、最も一般的なものである。
上に説明されたもので、G0がASCII、G1がJIS X 0208である。G2とG3はオプション扱いとなっている。
Microsoft Windowsの実装。通称は「CP51932」。
G1の文字集合がWindows-31Jの文字集合になったものである。
外字領域は存在しない、
TOG日本ベンダ協議会(TOG/JVC)が策定したeucJP-openの実装の一つ。
文字集合をWindows-31Jの文字集合に近づけたもので、更にUnicodeとの変換表がWindows-31JのシフトJISの仕様に準拠している。
Windows-31Jにある拡張漢字は、G3にIBM拡張文字の部分集合が用意されている。
ユーザー定義外字は、G1とG3の85区〜94区に各10区、合計20区を割り当てている。
区/点それぞれに0x20を足せばすぐに求められる。
0x5c(\)を2バイト目に含まないため、プログラムでの扱いが楽である。
1バイト目と2バイト目は符号が重複しており、あるバイトを見ても、それがEUC-JPの1バイト目なのか、2バイト目なのかがすぐに分からない。
直前・直後を見ても判断できないことが多く、延々と遡り、結局文字列の最初まで遡らないと判断できないこともある。
いわゆる半角カナJIS X 0201の右側はG2に配置されているため、SS2を併用した2バイトとなってしまう。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます