ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
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はISO/IEC 2022なので、G0〜G3の各バッファーが存在する。
そして、あらかじめ4つの規定の文字集合が指示されているものと仮定し、これを指示するシーケンスは一切省略する。
この4バッファーのうち、G0に指示されるものは常にASCII相当の文字集合と決められており、残り3つは各国語によって異なる。何があるかは言語環境依存とする。
そして、左の図形文字表には常にG0、右の図形文字表には常にG1が呼び出されているものとし、呼び出すシーケンスも一切省略する。
指示、呼び出しが不要な代わり、後から別の文字集合を指示することもできない。また、何が指示されているか自動的に判別することもできない。
G2やG3の文字集合を使う時には、SS2(8/14)やSS3(8/15)を併用し一文字だけ右の図形文字表(GR)に呼び出す手法を用いる。このような手法を取るため、EUCではエスケープシーケンスを一切使わずにASCIIともう一言語を共存させることができる。
なお、SS2/SS3の後は、ISO/IEC 2022の仕様上はGL/GRどちらでも良い仕様で、原則GLを使うが、EUCではGRを使う。
EUCは、日本語、支那語、朝鮮語で使われている。つまり、漢字文字などを利用する言語圏で使われている。その他の言語では使われていない。
それぞれ、次のようなものが規定され、使われている。ISO 639で規定される2文字の言語コードを併記する。
日本語EUCのことを「UJIS」と俗称することがあるが、これは過去通産省(現在の経済産業省)主導で進められ、結局実現しなかったΣプロジェクトでそう呼んでいたことに由来している。
日本語のEUC-JPは慣例によるが、朝鮮語と簡体字支那語は、上に併記したRFCにて規定されている。
文字集合 | G0 | G1 | G2 | G3 |
---|---|---|---|---|
日本語 (JIS X 0208) | JIS X 0201 英数 | JIS X 0208 漢字 | JIS X 0201 カタカナ | JIS X 0212 補助漢字 |
日本語 (JIS X 0213) | ASCII | JIS X 0213 漢字 | JIS X 0201 カタカナ | JIS X 0213 JIS X 0212 |
支那語 簡体字(EUC-CN) | ASCII | GB 2312 | ||
支那語 正体字(EUC-TW) | ASCII | CNS 11643-1 | CNS 11643-2〜16 | |
朝鮮語 | ASCII | KS X 1001 |
EUCの長所の一つとして、ISO-2022-JP(JUNETコード)とは異なり、文字列の中のある1バイトを見れば、それが1バイト文字か、2バイト以上の文字の一部か判別が付けられる点がある。
この特徴は、1バイト英数文字と日本語文字の混じった文書を処理するようなソフトウェアを作りやすくしており、このためUNIXの日本語化には日本語EUCがよく使われてきた。
但し、第1バイトと第2バイトは同じ範囲内にあり、それを単純なロジックで判別することは出来ないため、最悪で文字列の先頭まで遡らないとならない。これは、MS-DOSやMicrosoft Windowsなどで普及したシフトJIS等と同様の欠点である。
EUCは、エスケープシーケンスが不要である。
このため、英語と日本語が混じるような文書を計算機内にファイルとして保存しておく場合もファイルの容量が小さくて済むほか、モードを管理する必要がないため英語のソフトウェアの日本語化も容易に可能である。
ちなみにSS2/SS3の後でGRを使うことは当初ISO/IEC 2022に違反する恐れもあったが、その後ISO/IEC 2022が改訂され、問題がなくなった。
EUC-JP(日本語EUC)を例とする。
大まかには、次のように表現する。
例えば、0$阿アの場合、次のような符号列で表現されることになる(アはJIS X 0201カナのアとする)。
但し、UNIXでは概ね、JIS X 0201カナは使用されない。
0$阿アのうち、0と$は良いとして、まず阿である。
阿はJIS X 0208の漢字であり、これはバッファーG1に指示されていて、かつGRに呼び出されている。これがEUC-JPの標準状態であり、変更できない。
さてGRの文字は、コードの最上位ビットを1にするだけで良い。従ってそのようにして用いることにする。
まず「阿」は「16区04点」にあり、ISO-2022-JPでは各々に0x20を足して0x30 0x24(3/0 2/4)で表現される。この各バイトに0x80を足すと0xb0 0xa4(11/0 10/4)となり、これがEUC-JPにおける「阿」を指す符号となる。
次にJIS X 0201カナの「ア」である。
EUC-JPではJIS X 0201カナはG2に存在するので、用いるときには1文字ずつSS2(8/14)を使用してGRへ呼び出すことになる。
まず「ア」の符号位置は、JIS X 0201においては3/1である。これがGRに呼ばれるので、符号位置は11/1になる(0x80(8/0)を足せばよい)。
SS2が先行するので、結果としてこの「ア」は、0x8e 0xb1(8/14 11/1)という2バイトで表現されるわけである。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます