JIS X 0208について調査してみた(1)

0211や0202も気になったのですが、とりあえず後で戻るという前提で
JIS X 0208」の調査に移行でございます。

戻って帰って来れなくなるどころか、そのまま死亡して行方不明になる可能性も少なからずあるわけですが、そんな事にいちいちビビって文字コードと向き合えるかいっ!

http://www.jisc.go.jp/app/pager?%23jps.JPSH0090D:JPSO0020:/JPS/JPSO0090.jsp=&RKKNP_vJISJISNO=X0208

またこのサイトのお世話になります。

そもそものお話

JIS X 0208」は、7ビット、又は、8ビットの符号を2つ組み合わせた、2バイトの符号化文字集合の規格。

あれ?w 7ビット2つ組み合わせても、14ビットで2バイトにならなくね?とか思うじゃないですかー?
私もそう思います。

第8ビット目に必ず0をセットしてるから特に問題ないと言われても、それって8ビットやんとか思ってしまいます。

「5.1.1 7ビット符号化文字集合」の記法のところでは、7ビット分しか説明されていません。
しかし、「6.1.1 7ビット符号化文字集合の構造」にある表では8ビット目が記載されています。

そこで何気なく、「バイト」という言葉の理解を確かめるためにWikipediaで調べると衝撃の事実が。

本来バイトとは、欧文文字1字分の文字コードを表現するために用いるビット数のことをいい、扱う文字種や、あるいはワードサイズをいくつかに分割することによって決められ、その大きさは処理系によって異なる。

例えば情報通信の分野などにおいて、情報量の単位として特に8ビットであることを明示する(曖昧さを無くする)必要がある場合は「オクテット」の語を用いる。

Wikipedia バイト (情報)より引用
http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88_(%E6%83%85%E5%A0%B1)

Ω ΩΩ< な、なんだってー!!

バイト(byte) 一つの単位として操作するビット列。各ビットは、0又は1の値をもつ。


JIS X 0208」4.定義より引用

ふあー。そもそも言葉の定義の認識がズレておりました。
バイトという単位は絶対的な尺度じゃないんですね。

話がズレて参りましたが、このバイトを組み合わせて2バイトにして「区」と「点」を表すというわけです。

ですので、「JIS X 0201」の片仮名文字集合は、行と列を指定した「点」を表す2次元的な集合ですが、そこに「区」が入るので3次元的な集合になるということですね。

JIS X 0208」で定義されている符号化文字集合

全部で8つ用意されている。

上の6つは規格票本体に、下の2つは附属書に定義されている。

「漢字用7ビット符号」と「漢字用8ビット符号」は、「JIS X 0208」で定義されている漢字集合のみを利用する場合の符号。(7.1)

「国際基準版・漢字用7ビット符号」と「国際基準版・漢字用8ビット符号」は、「ISO/IEC 646」の国際基準版と、漢字集合を同時に用いる場合の符号。
しかし、この場合、漢字集合の方にもアルファベットのような「ISO/IEC 646」の国際基準版と重複する様な文字が出てきてしまう。この場合は、原則的に「ISO/IEC 646」の国際基準版の符号を用いる。(7.2)

ラテン文字・漢字用7ビット符号」と「ラテン文字・漢字用8ビット符号」は、「JIS X 0201」のラテン文字集合と漢字集合を同時に用いる場合の符号。こちらも同じく、重複文字は、原則的にラテン文字集合を優先する。(7.3)

「シフト符号化文字集合」と「RFC 1468符号化文字集合」は1バイトと2バイトを混在した符号化文字集合。これは複雑なので後で1つずつ調査していく予定。