玄関へ ◇◇◇ 台所へ戻る

JISとShift_JIS


日本語コードは二つある



JIS、ジス [Japanese Industrial Standard] 日本工業規格。
JISコード [JIS code] JISにより定められた日本語の情報交換用符号。

  ホームページを見ているとき、文字列が訳のわからない記号になってしまったこと
はありませんか。いわゆる、文字化け現象です。
 この場合、文字コードを再指定してやれば、大抵の文字化けは解消します。
 その際、指定する文字コードは、日本語の場合Shift_JISを選んでいるは
ずです。

 このShift_JIS、今でこそ当たり前のように使われていますが、これが使
われるようになるまでには、なかなか苦労があったんです。

 Shift_JISの前は、JISが使われていました。ただのJISです。

 日本語をコンピュータで表示させるには、16ビットが必要です。ビットとは、コ
ンピュータの、最小の記憶単位です。半角文字一文字ならば8ビット必要となります。
日本語は全角文字ですから、一文字表示させるためには、半角の2倍の16ビットが
必要なのです。
 そして、コンピュータは、8ビットずつ情報を読み込んで動いていきます。ですか
ら、16ビットで一つの文字情報を表す日本語は、どうしても情報判別に時間がか
かってしまうのです。
 例えば、日本語の漢字を、画面に表示させるとき。
 16ビットのうち、前の8ビットを読み込んだだけでは、それが漢字なのか、それ
とも別の半角文字なのか、コンピュータは判別ができません。後ろの8ビットを読み
込んで、ようやくそれが漢字であったことがわかります。

  これは、動作がのろい、ということです。
 もっと素早く、日本語の判別ができないか。

 考えました。答えは、同じビットの中にあります。

 例えばの話。
 8ビットは、ビットが8個並んでいます。これを、1から8の数字に置き換えてみ
ましょう。
「12345678」
 8ビットの例が一つできました。また、別の組み合わせで、
「23456781」
 としました。またまた別の組み合わせで、
「34567812」
 としてみたり。
 こんな風に、数字を並べていくと、たくさんの組み合わせができますね。

 この8個の数字の並びが、半角文字を識別していると考えましょう。
「12345678」が「A」である、とか。
「23456781」が「B」である、などと。

 では、全角文字。
「12345678、12345678」で「藍」とします。
「23456781、23456781」で「色」です。
 さあ、これを読み込んだ場合、どうなるでしょう。

 コンピュータは、迷います。何故って、全角文字の最初の8桁の数字が、半角文字
と同じでしょ。
 コンピュータは、8ビットずつ読むのです。この場合、最初の8桁を読んだだけで
は、半角と判断されかねないのです。次の8桁を読み込んではじめて、(ああ、全角
だった)とわかる訳ですね。

 実際のコンピュータの動きには迷いなどなく、単に、判別の時間がかかるだけです
が、できるなら、最初の8桁を読み込んだ時点で全角文字とわかるようにしたい。

 そこで、目を付けたのが、まだ使われていない領域。
 実は、その時、まだ使われていない数字の組み合わせがあったんです。

  JISの中身を、そっくりそのまま未使用領域に移動(シフト、Shift)しま
した。これが、Shift_JISです。
  移動したことによって、文字コードが増えてしまいましたが、これのおかげで、先
の8ビットを読み込んだ時点で、全角半角の判別ができるようになりました。

 そんなこんなで、現在のコンピュータの中には、JISとShift_JISの二
つの日本語コードが存在しています。
 そして、今ではほとんどが、Shift_JISの方を使用しています。



(C) 飛鳥 2003.11.6 


もっと詳しく知りたい場合は、こちらをご参照ください。
HP『@nifty:辞書』デジタル用語辞典[ Shift JIS ]の項
URL: http://www.nifty.com/webapp/digitalword/word/008/00860.htm
2003.12.1補記



玄関へ ◇◇◇ 台所へ戻る