通信用に定められた為に、基本的に 7bit だけが使われます。 シフトコードにより、漢字セットを変更して使います。
ISO-2022-JP
とも呼ばれています。これは、RFC で
定められた物で、ISO が定めたという訳ではありません。また、
いわゆる半角カナと呼ばれる物や補助漢字をを含んでいません。
また、ISO-2022-JP-2
と言う物もあります。これは
補助漢字や中国・韓国のコードも含んでいます。
シフトJIS。SJIS と略される事が多いです。 Microsoft によって定められた為、Microsoft漢字コード とも呼ばれます。JISコードを巧妙にシフトしている事からそう呼ばれ ています。 巧妙すぎて、コンポーズドJIS とでも呼んだ方が正確な気がします。 JIS にも入りました。その為に、Shift_JIS を JISコードと呼んでも 間違いと言うわけではありません。
主にパソコンやパソコン通信で使われていますが、最近では インターネット幅を利かせるようになって来ました。ANK 文字(英数記号)と、いわゆる半角カナを 1オクテット(8 bit)で表し、 漢字を 2オクテットで表します。その為に画面上の幅とデータの量が 一致するので便利です。さらに、漢字の1オクテット目と2オクテット目の 重なりが少ない為に、データの欠落の後の復旧が容易です。
しかし、英数字とも重なっている為に、プログラムを注意して 作らないと、コンパイルエラーを起したり漢字を含んだファイルを 扱えません
余裕なくびっしりコードが割り当てられている為に、補助漢字を使う 事が出来ません。補助漢字が全然普及しなかったのはその為でしょう。
Extended UNIX Code の略。だからEUCコードと書くのは本当は おかしいです。 AT&Tによって定められまし た。主に UNIX で使われています。
至極簡単に説明すると、JISコードに 8bit目を立てた物です。 表現を変えると、JISコードを 128だけシフトした物です。 むしろこちらの方をシフトJISと呼んだ方がいいような気がします。 多バイト文字です。ASCII/ JIS コードを表す時は 0x21〜0x7Eを使い、1オクテットで表し ます。JIS X 0208-1990 (第1水準, 第2水準) を使う時は 0xA1〜0xFE を 2オクテット使います。半角カナ(JIS X 0201)を使う時は 第1オクテット目に 0x8E、第2オクテット目に 0xA1〜0xDF を使います。 JIS X 0212-1990 (補助漢字)を使う時は第1オクテット目に 0x8F、第2第3オクテット目に 0xA1〜0xFE を使います。
第1オクテット | 第2オクテット | 第3オクテット | |
---|---|---|---|
ASCII/ JIS | 0x21〜0x7E | ||
JIS X 0208-1990 | 0xA1〜0xFE | 0xA1〜0xFE | |
半角カナ | 0x8E | 0xA1〜0xDF | |
JIS X 0212-1990 | 0x8F | 0xA1〜0xFE | 0xA1〜0xFE |
この他にも、色んなコードがあります。例えば、Unicodeや TRONコードです。
アメリカのコンピュータメーカー等が考えたコード。20,902 字の 漢字を含んでいます。日本からは、JIS 第1水準・JIS 第2水準・JIS 補助漢字・IBM拡張が採用されました。ISOや JISにもそれぞれ ISO10646-1, JIS X0221 として入っています。
世界中の字を無理やり 16bit に納めているため、かなり問題があると言われ ています。例えば、ユニフィケーションと言って、似たような字を同じコード に割り振っている事です。一見合理的にも見えますが、「『骨』と言う字は中 国では『』と書きます。」と言う文が表現できません(もっとも、今ある たいていのコードで表現できません)。欧米人は日本語と英語の共存は考え付 いても、日本語と中国語の共存は考えられないようです。ドイツ人とフランス 人は話をしないのでしょうか(仲悪そうなのでしないのかも)。また、不思議 な事にどうしてこの文字が Unicode に入ったかを調査する委員会があるとい う話です。
その割に、欧米の文字はちゃんと分けられています。つまり、英語の「A」、 ギリシャ語の「Α」、ロ シア語の「А」は全部別です。
しかし ユニフィケーションの利点として、「grep 毛沢東
」が
出来る事があります。日本語と中国語などを全然別の領域に割り当てると、当
然同じ字が別の領域に割り当てられる事になります。すると、文献の中から
「毛沢東」を探したい時に、日本語で書かれている文献の「毛沢東」は検索で
きるが、中国語で書かれている「毛沢東」は検索出来ないと言う事が起こりま
す。しかし、「毛沢東」が同じコードに割り当てられていると、どの言語で書
かれていても「毛沢東」が検索できます。これが「grep 毛沢東
」
です。
Unicode や TRONコードの詳しい話は、TRON多言 語テクストプロセシングシステムに関する バーチャルシンポジウムでも 読むと良いかも知れません。