技術情報
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と違い文字化けの心配が少ない。
