はじめに ── キーボードの記号、どこから来たの?
空子/情報セキュリティマネジメント担当パソコンやスマートフォンで文字を打つとき、私たちは当たり前のようにアルファベットや数字、そして「@」「#」「&」といった記号を使っています。しかし、これらの文字や記号がコンピュータの中でどのように扱われているか、考えたことはあるでしょうか。
その答えの鍵を握っているのが、今回のテーマである「ASCII(アスキー)符号」です。
ASCIIとは何か





ASCIIは「American Standard Code for Information Interchange」の略で、日本語に訳すと「情報交換用米国標準コード」となります。1963年にアメリカで策定され、コンピュータが文字を数値として扱うための「翻訳表」のようなものです。
コンピュータは本質的に「0」と「1」の組み合わせ(ビット)しか理解できません。そこで、「Aという文字は65番」「aという文字は97番」というように、すべての文字や記号に固有の番号を割り当てたのがASCIIです。この番号のおかげで、コンピュータ同士が同じルールで文字情報をやり取りできるようになりました。
ASCIIに含まれる文字たち



ASCIIは7ビットで表現され、0番から127番までの合計128種類の文字・記号が定義されています。大きく分けると、次の4つのグループに分類できます。
1. 制御文字(0番〜31番、127番)
画面には表示されませんが、コンピュータの動作を制御するための特殊な文字です。たとえば、改行を意味する「LF(Line Feed、10番)」や、タブを意味する「HT(Horizontal Tab、9番)」などがあります。昔のタイプライターやテレタイプ端末の動作をそのまま引き継いだ名残で、現在でもプログラミングの世界では頻繁に使われています。
2. 数字(48番〜57番)
「0」から「9」までの10個のアラビア数字です。日常的に使う数字がそのまま割り当てられています。面白いことに、数字の「0」は48番、「1」は49番というように、実際の数値とASCII番号は異なります。プログラマーがよく知っているちょっとしたトリビアです。
3. アルファベット(65番〜90番、97番〜122番)
大文字の「A」から「Z」が65番から90番、小文字の「a」から「z」が97番から122番に割り当てられています。大文字と小文字の間にはちょうど32の差があり、これは偶然ではなく意図的な設計です。2進数で見ると1ビットの違いだけで大文字と小文字を切り替えられるようになっており、当時のコンピュータにとって非常に効率的な仕組みでした。
4. 記号・特殊文字(32番〜47番、58番〜64番、91番〜96番、123番〜126番)
スペース(32番)、感嘆符「!」(33番)、アットマーク「@」(64番)、シャープ「#」(35番)など、私たちが日常的に目にする記号もすべてASCIIに含まれています。メールアドレスに使う「@」も、SNSのハッシュタグに使う「#」も、プログラミングの括弧「{ }」も、すべて1960年代に決められた番号がそのまま使われているのです。
ASCIIが生まれた背景





1960年代、コンピュータの世界はまだ黎明期にありました。当時は各メーカーが独自の文字コードを使っており、異なるメーカーのコンピュータ同士では文字のやり取りがうまくいかないという深刻な問題がありました。
あるコンピュータで「A」と入力したデータが、別のコンピュータでは全く違う文字として表示されてしまうのです。
この混乱を解消するために、アメリカ規格協会(ASA、現在のANSI)が中心となって統一規格を策定しました。それがASCIIです。ASCIIの登場により、コンピュータ間の文字通信が格段にスムーズになり、インターネットの発展にも大きく貢献しました。
ASCIIの限界と進化



ASCIIは非常に画期的な規格でしたが、128文字という容量には大きな制限がありました。英語のアルファベットと基本的な記号しかカバーできず、日本語はもちろん、フランス語のアクセント付き文字やドイツ語のウムラウトすら表現できなかったのです。
この問題を解決するために、まず「拡張ASCII」として8ビット(256文字)に拡張する試みが行われましたが、世界中の言語を網羅するには到底足りませんでした。そこで最終的に登場したのが「Unicode(ユニコード)」です。Unicodeは現在15万文字以上を収録しており、日本語の漢字やひらがな、アラビア語、絵文字に至るまで、世界中のあらゆる文字を一つの規格で扱うことができます。
しかし重要なのは、UnicodeはASCIIを完全に置き換えたのではなく、ASCIIを内包する形で設計されているということです。UnicodeのUTF-8という符号化方式では、ASCIIの0番〜127番の文字はまったく同じ番号で表現されます。つまり、60年以上前に決められたASCIIの体系は、今日のあらゆるコンピュータやスマートフォンの中で、そのまま生き続けているのです。
身近なところに潜むASCII





ASCIIは私たちの日常生活のいたるところに潜んでいます。たとえば、ウェブサイトのURL(アドレス)は基本的にASCII文字だけで構成されています。
メールアドレスもASCIIの範囲内の文字しか使えない仕組みが長らく続いていました。プログラミング言語のソースコードも、そのほとんどがASCII文字で書かれています。
また、「ASCIIアート」と呼ばれる、文字や記号だけで絵を描く表現手法も、ASCIIの文化的な遺産の一つです。インターネット初期の時代、画像を気軽に送れなかった頃に発達した表現方法で、今でも愛好家が多くいます。
おわりに
ASCIIは1963年に生まれた、たった128文字の小さな規格です。しかし、その明快で合理的な設計は時代を超え、現代のデジタル社会の土台として今なお機能し続けています。



次にキーボードで「@」や「#」を打つとき、その裏側で60年以上前に決められた番号が静かに働いていることを、ちょっとだけ思い出してみてくださいね。










コメント