用語解説 : 文字コード


 コンピュータが直接扱えるデータは2進数で表される数値データだけです。そこで文字を扱うために,文字ごとに数値を割り当てます。文字に対応した数値のことを文字コードといいます。

 半角文字については,数字「0」の文字コードは16進数30,英字「A」は 41,記号「$」は 24,カタカナの「ア」は B1 などと決められています。初期のコンピュータはこのような半角文字しか扱うことができませんでした。

 日本字は英字とちがって文字の種類が桁ちがいに多いために文字コードを1バイト(最大250種類程度)で表すことができません。そこで2バイト(最大で6万種類程度)で文字コードを表します。2バイトであるために2バイト文字と呼ばれています。ワープロで文字の大きさを指定するときに使った名残で全角文字ともいわれます。たとえば「あ」は 2422,「愛」は 3026,「☆」は 2179 などとなっています。
 ところで「愛」を表現するつもりで 3026 としても,1バイトごとで見れば 30 は「0」で,26 は「&」ですので,そのままでは「0&」と表示されてしまいます。そこで「ここからは日本字」であることを表す 1B 24 42 と,「ここからは半角」であることを表す 1B 28 4A という特殊なコード(エスケープ・シーケンス)を挿入することにしました。これが JISコード (正式には 7ビットJISコード)による日本語表現で,e-mail にはこれが使われています。

 半角文字と日本字とを切り換える毎にエスケープ・シーケンスを挿入するのはコンピュータの記憶装置の無駄遣いということで考えだされたのが EUC です。半角カタカナを犠牲にして,日本字コードの各バイトごとのデータの最上位ビットを 1 にするように決めたのです。「あ」は A4A2,「愛」は B0A6 となります。日本字だけではなく各国語に対応しています。これは1985年から使われ始め,現在でも主に UNIX 系のコンピュータで使われています。

 EUC が現れた当時は日本字といえば半角カタカナの時代でしたので,それも生かそうとして SHIFT-JIS が考え出されました。半角文字コードとして英数字にもカタカナにも使われていないわずかな空部分に日本字をぎゅうぎゅうと押し込んだのです。「あ」は 82A0,「愛」は 88A4 となります。
 この方式の開発にはMicrosoft社も携わり,Machintosh社も採用したこともあって,現在では主流になっています。しかしカタカナを表す表現が「ア」の B1 と,「ア」の 8341 というように2種類できてしまったことや,半角カタカナを生かしたために EUC との区別が付きにくく,文字化けの原因になりやすいということで,コンピュータ技術者にとっては扱いにくい文字体系になっています。また日本字専用ですので,同じ文書内に英語以外の他国語を混ぜて使うことはできません。
 このページはSHIFT-JISを使用して書いてあります。

 最近では unicode という国際標準文字コード体系の導入が進められています。詳しい内容は省略しますが,インターネットWebが世界を結ぶ時代となって,世界共通の文字コード体系が必要になってきたからです。

「やさしい用語解説」メニュー