技術情報
EUCコード
EUCコードは正しくはEUC_JPといい、JISコードを第一バイト、第二バイトともに 0x80ずつシフトさせた日本語コードです。第一ビットを0→1に変更することで、処理します。
UNIXでは標準の日本語コードとなっています。JISコード、シフトJISコードとは計算によって相互に変換が可能です。
ビット列 | 値 | |
---|---|---|
JISコード | 0aaaaaaa 0bbbbbbb | 0x2121~0x7E7E |
EUCコード | 1aaaaaaa 1bbbbbbb | 0x8181~0xFEFE |
領域の移動
ASCII領域とJISコードが重なるため、第一バイト、第二バイトともに0xA1~0xFEに移動させます。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ASCII 領域 |
⇒⇒ | ||||||||||||||
1 | JIS領域 | EUC領域 | ||||||||||||||
2 | ||||||||||||||||
3 | ||||||||||||||||
4 | ||||||||||||||||
5 | ||||||||||||||||
6 | ||||||||||||||||
7 | ||||||||||||||||
8 | ||||||||||||||||
9 | ||||||||||||||||
A | ||||||||||||||||
B | ||||||||||||||||
C | ||||||||||||||||
D | ||||||||||||||||
E | ||||||||||||||||
F |
EUCコードの特徴は以下のとおりです。
- ASCIIとは共存でき、JISコードのようなエスケープシーケンスは必要ではない。
- 半角カナとは共存できないので、プレフィクス0x8Eをつけて2バイトとして扱う。
- 第二バイトもASCIIの領域を避けているので、シフトJISと違い文字化けの心配が少ない。