2バイト文字系の文字コード体系
Shift JIS(シフトJIS)
Shift JISは、1バイト文字系の文字をJIS X0201(つまりJIS8)で表し、2バイト文字系の文字をJIS X0213の2バイト文字の文字コードをシフトしたもので表した文字コード体系です。2バイト文字の部分のみをシフトJISということもあるようです。
細かく分類するとシフトJISもさらにいくつかの種類に分かれるようです。
1バイトのコードの方は説明済みなので、2バイト文字のコードの方の説明をします。
JISコードの文字を表すのに、区をJIS8で使用されていない列8,9、E、Fに割り当てて表し、点を列4〜Fを割り当ててたものです。区・点については、JISコードの説明を見てください。
JISコードの文字の文字コードを区・点に分けて、それぞれをある法則に従って「シフト」したので、シフトJISと呼ばれます。
区を見れば、その文字コードが1バイトか2バイトか判断できるため、点の方は1バイト文字の文字コードと重なっていても良いので、4〜Fまで12列分の広い範囲を使っています。
区の部分がJIS8の空いている場所しか使えないので、どんなにがんばっても16000字程度しか表現できません。
コード表は、下のようにJIS漢字コードをシフトした形で配置されます。
JIS漢字コードをある法則に従ってシフトしただけなので、JIS漢字コードにある文字は、シフトJISにもあります。
コード表の後ろの方は未使用領域ですが、外字領域として使用されることもあります。
上のコード表は、JIS漢字コードで示したコード表と同じ区点の文字を、シフトJISのコード表から抜き出したものです。
JIS漢字コードと見比べてください。32区48点の「石」は、JIS漢字コードでは「4050」でしたが、シフトJISでは「90CE」という文字コードになっています。
個々の文字を見ると文字コードは変わっていますが、全体を見ると文字の順番はそのままで、文字コード全体をJIS8で使用していない列の部分にズルズルっと位置をずらして(シフトして)いることがわかります。
元々はマイクロソフト辺りが中心となって作った文字コードで、当初は(これから説明する)企業作成系の文字コード体系と横並びぐらいの普及度だったのですが、パソコン用のOSに採用されたのが成功して、今では一番有名な文字コードになりました。
JIS漢字コードのJIS78をベースにシフトしたのか、JIS83をベースにシフトしたのかによって、シフトJISにもJIS78とかJIS83とかの概念が発生します。これは後に説明する2バイト文字系の文字コード体系も同様です。