EUC-JP と Linux

(1/1)
国産パソコンで シフトJISコードが普及する中、UNIXで日本語を扱うための文字コードとしてAT&Tが制定したものが EUC-JP である。Extended UNIX Code Packed Format for Japaneseの略で、日本語EUCとも呼ばれる。

JIS X 0208 と EUC-JPの関係

EUC-JP は、ISO 2022 8ビット のGR領域(0xA0~0xFF)を第1・第2バイトとして使う2バイト・コードである。
ISO 2022 8ビット表
ISO 2022 8ビット表
GL領域には ASCIIコードを配置する。
ASCIIコード
ASCIIコード
ただ、このままでは半角カタカナを扱えないため、C1領域の一部(0x8E)に半角カタカナを割り当てている。

EUC-JP コードの一部(冒頭部分)を下表に掲げる。グレーは未定義文字である。
EUC-JPコード
EUC-JPコード
EUC-JP はAT&Tが定めたものだが、JIS X 0208:199797JIS)に記載されている「国際基準版・漢字用8ビット符号」の並びに相当する。

EUC-JPの派生型

EUC-JP にも シフトJIS のような派生型がある。

CP51932 は、NEC特殊文字NEC選定IBM拡張文字 を組み込んだもので、Windows 98 から利用できるようになった。

eucJP-ms は、NEC特殊文字IBM拡張文字 に加え、ユーザー定義文字にも対応したもので、TOG日本ベンダ協議会などが策定に当たった。
その後、IBM拡張文字 は普及しなかったため、eucJP-ms は使わないほうが無難である。

EUC-JP と Linux

Linux
1990年代に入って登場した Linux は、UNIXの流れを受け、標準的な日本語コードとして EUC-JP を採用した。その後、Unicode へ移行している。

EUC-JP と多言語化

EUC-JPISO 2022 の延長線上にあり、国際的に受け入れやすい。実際、ハングル文字を表す EUC-KR や、簡体中国文字を表す EUC-CN などが制定されている。
ただし、各言語向けのコード体系が作りやすいという意味で、後述する Unicode のように、それだけですべての言語・文字を包含するという目的ではない。

EUC-JPシフトJIS と比べた場合、半角カタカナを2バイトで表すところが決定的に異なる。
シフトJIS では、全角文字は2バイト、半角文字は1バイトという対応になっており、文字列の横幅を計算するのに好都合である。
たとえば「アは半角、アは全角」というシフトJIS の文字列に対し、PHPの組み込み関数  strlen  を適用すると、結果は17である。同様に EUC-JP の文字列に適用すると、結果は18になる。

参考サイト

(この項おわり)
header