今回はエクセルとは直接関係ないのですが、1バイト文字と2バイト文字について簡単にお話していきます。
全角文字=2バイト文字、半角文字=1バイト文字とだけ覚えていれば、基本的には困る事はありません。
もう少し掘り下げた話を読みたい方は続きをどうぞ。
機械が中でどう動いてるのかーみたいな内容です。
バイト(byte)とは?
ビット(bit)の集合体で、8bitで1バイト(byte)となります。
そしてbitとは、データの最小単位のことで、1bitの情報量とは、0か1かという2択の情報となります。
要するにただの2進数ですね。
ですので、1byteは8bitという事は、1byteは2進数8個分の集まりという事になります。
それでは2byteの情報量はどれくらいになるでしょう。
1bitは0と1の2通りだけでした。
2bitになると、00,01,10,11の4通りになります。
3bitだと、000,001,010,011,100,101,110,111の8通りになります。
このように、1bit増えるごとに、情報量は2倍に増えていきます。(2×2=4、4×2=8)
つまり、8bitの情報量は、2×2×2×2×2×2×2×2=256となり、256通りの情報量となります。
2進数の集まりがなんで文字になるの?
さきほど、1byte=8個の2進数の集まりというお話をしました。
最終的にこの2進数の集まりがアルファベットやカナといった文字になるのですが、なんで文字になるのかというと、例えば01000001という8bitの情報は、Aになるんだぞというように、文字コードとしてルール決めされているからです。
ただこの文字コード、万国共通というわけではないので、同じ1byteの情報でも、使う文字コードが違うと、まったく関係のない文字に置き換えられてしまう事があります。
文字化けの原因の1つですね。
とにかく、8個の2進数と、文字コード表を照らし合わせて、文字を表示させてるってことです。
あ、文字コードの種類にまで話を広げると収集つかなくなるので、ここでは触れません。
1バイト文字とは?
1バイト文字というのはその名の通り、1byteで表現できる文字の事をいいます。
ただ、1byteでは256文字しか表現できませんので、日本では数値とカタカナ、そして基本的な記号を表現するための文字コードが使われています。
もちろん漢字なんかに対応させる余裕はありません。
そういう厳しい環境の中で、それでも文章が作れる最小限の文字セットが1バイト文字なのですが、要は半角になれる文字達のことです。
2バイト文字とは?
1バイト文字は1byteで表現できる文字の事でしたので、2バイト文字もその名のとおり、2byteで表現できる文字の事です。
1byte増えただけで、いくつの文字が表現できるの?って、256×256で圧巻の65,536通りですよ。
こんだけ使えれば、漢字にだって対応できちまうってやつですよ。
で、この2バイト文字ですが、平仮名や漢字が細長いと読みにくいからなのか、どんな理由でそうなったのかまでは知りませんが、1バイト文字に比べて横幅もほぼ2倍の全角文字となっております。
まぁ理由はなんにせよ、結果として目で判別しやすいので助かります。
AとAのようにアルファベットはちょっとややこしい物が多いですが。(前者が半角なので1バイト文字で、後者が全角なので2バイト文字)
つまるところ
でっかい文字は2バイト文字、細い文字は1バイト文字。
これに尽きます。
コメント