ITmedia NEWS > 社会とIT >

「1Byteが8bitに決まったワケ」についての長い話 まずは「バベッジの階差機関」から(7/7 ページ)

» 2022年02月03日 19時00分 公開
[大原雄介ITmedia]
前のページへ 1|2|3|4|5|6|7       

1Byte=7bit派閥

 この流れに逆行したのが通信の分野である。要するにASCII(American Standard Code for Information Interchange)コードといわれるものだ。通信の分野では、bit数が増えるほど通信の時間と必要なハードウェアコストが増える、という認識であり、それもあって8bit化には頑強に抵抗した。ASCIIコードの策定は、現在のANSI(American National Standards Institute)の前身であるASA(American Standards Association)の委員会の1つであるX3 committee(のちにX3.2.4に移管され、そののちX3.4になる)で策定された通信規格である。

 “American Standards”という名前から分かるように、米国英語の通信しか考えてないというのは悪口に過ぎるのかもしれないが、1963年に策定された最初のASCIIコードであるASA X3.4-1963は、当然7bitで構成されることになった。以来ASA/ANSIはこの規格を改定していき、最終的にはANSI INCITS 4-1986まで版を重ねるが、頑として7bit Codeの姿勢を崩さなかった。そもそものByteの定義が、1文字を収めるのに必要なサイズという観点でいえば、これは1Byte=7bitという意思表示と考えても良い。まあこの辺りはコンピュータ業界と通信業界の違いを如実に物語っている気がする。

 そのASCIIコードが廃れたというか、うやむやになったのは、要するに多国語対応である。例えば日本ではJIS C 6220(現JIS X 0201)と呼ばれる拡張コードが定義された。これはASCIIコードを8bitに拡張。前半分はASCIIコードそのままで、後半分に半角カナ(と、ベンダーによってはグラフィックとか罫線とか)を実装した方式である。

 これは別に日本語だけではなく、欧州向けには複数の国の文字に対応するISO/IEC 8859-1という規格が定められたが、これもやはり8bitに拡張し、前半はASCIIコードそのままで後半にいろいろ詰め込んだ(しかも複数のマッピングが存在する)という、それなりに面倒な規格である。

 要するに米国英語だけで通信する分には7bitでいいかもしれないが、英語以外の通信には8bitが必要であり、結局ASCIIコードは尊重をされつつも、通信の世界も1Byte=8bitに移行することになった。

 特に多言語化を意識したUnicodeは1Byte=8bitを前提に規格が進められており、もはや1Byte=7bitでは通用しなくなっている。そんなわけで冒頭で紹介した、ISO/IEC_80000-13:2008の中で、8bitの塊を1Byteと表現する、と定義したというのは、その意味では事実の追認でしかない。

 ただこれに意味があるのは、これまでByteの定義が単に業界標準でしかなく、ISO/IEC_80000-13:2008でこれが公的に定められたという点である。その意味では、これも回答の1つではあると思う。

 ということで、簡単に歴史的経緯などをまとめつつ、なぜ1Byte=8bitなのかの回答を幾つかご紹介させていただいた。間違いなどあれば、適宜Twitterなどでご指摘いただければ、と思う。

前のページへ 1|2|3|4|5|6|7       

Copyright © ITmedia, Inc. All Rights Reserved.