見出し画像

characterは8ビットか?

ASCIIコードは8ビットではありません。7ビットです。
16進数では 0x00 〜 0x7F の領域、10進数では 0 〜 128 の領域に文字を割り当てています。 0x80〜0xFFの領域にASCII文字は割り当てられていません。

シリアル通信や、その応用技術であるパソコン通信の設定では「8bitパリティ」や「8bitノンパリティ」などの設定がありますが、これは7ビットのASCII文字コードを8bitで表現したときの上位1ビット(MSB)の空きビットを「パリティ(偶奇ビット)」として扱う/扱わないの設定切り替えになります。 "0" と "1" を一つ一つ送るシリアル通信では「7ビット」で文字(テキスト)を送る設定もあります。

半角カタカナ

アルファベットと数字、記号と制御文字は128個のコード表の中に収めることができました。しかし日本語の五十音を割り当てる空きコードはありませんでした。そこで8ビット領域の中でASCIIコード表の「空き」になっていた 0x80 〜 0xFF の範囲に五十音(カタカナ)を割り当てたのが、後の『いわゆる半角カタカナ(1バイトカナ)』です。初期の8ビットパソコンでも英数文字とカタカナまでは扱うことができました。電報の時代は「チチキトク」や「カネオクレ」で用は足りていたため、カナさえ使えればよかったのでしょう。一般に、いわゆるパソコンで漢字が扱えるようになったのは1980年代後半に16ビットパソコンが登場して以降のことになります。

プロポーショナルフォントが主流の現在では『半角』と『全角』の字形を区別する必要は薄れていますが、"640×480px 解像度ディスプレイ" や "96dpi ドットインパクト・プリンター" が主流であった当時は等幅フォントが主流で厳然として『半角』と『全角』の区別がありました。

この半角カナを含む8ビット文字コードを『ANKコード』と呼ぶことがあります。Alphabet、Numerical digit、Katakana の3つの頭文字に由来します。規格は "JIS X 0201" です。16bitに拡張された Shift-JIS や EUC_JP も、このANKコードを含んでいます。したがって 半角カナは Shift-JIS の専売特許という訳ではないのですが、レガシーな日本語文字コードの中に残りました。

現在でもリソースが非力な組込みシステムでは、8bit で英数文字とカナが扱えるANKコードを採用することがあります。

ちなみに1バイト・カナの必要性がなくなったはずの  Unicode にも U+FF00~U+FFEF の領域に “Halfwidth Katakana” の呼称で、いわゆる「半角カナ」が残っています。

いいなと思ったら応援しよう!