あなたが今、この画面で当たり前のように「ひらがな」や「漢字」を読めていること。実はこれ、ITの歴史においては「奇跡」に近いハックの連続によって実現されたものだということをご存知でしょうか。
「50年前なんて有給の彼方よ。50年前なんて有給の彼方。50歳になりますよ、あなたも」
ゆるコンピュータ科学ラジオでそう語られる通り、今から半世紀前、コンピュータの世界は日本語を扱うことなど想定もされていない「英語至上主義」の檻の中にありました。
メールを送れば意味不明な記号に変わり、異なる会社のコンピュータ同士は一言も会話が通じない。そんな「万人の万人に対する闘争」が起きていた暗黒時代から、いかにして私たちは日本語という膨大な文化をデジタル世界へねじ込んだのか。今回は、128文字という絶望的な定員制限を、人間の「脳の仕組み」にも似た驚きのトリックで突破した、先人たちの変態的(褒め言葉)な執念のドラマを紐解きます。
今回の配信内容🎧
- 1960年代、規格が乱立し「意図しない暗号」を送り合っていた文字コードの闘争時代。
- $2^7 = 128$の絶対法則。世界標準「ASCII」が英語圏以外を絶望させた理由。
- 日本語に与えられたのは、わずか「10文字の自由枠」。この檻をどう打ち破ったのか?
- 「左脳と右脳」の切り替え? ISO IEC 2022が編み出した、文字セットをガチャンと入れ替える魔法。
万人の万人に対する「文字化け」闘争時代
私たちが今、iPhoneで打った文字をAndroidで読み、Windowsで作った書類をMacで確認できるのは、世界共通の「文字コード」という約束事があるからです。しかし、1960年代から70年代初頭にかけては、そんな平和な時代ではありませんでした。
当時はコンピュータメーカーやソフトウェア開発者が、それぞれ勝手なルールで「30番は『あ』、31番は『い』」と決めていた、まさに「文字コードの戦国時代」でした。
自分の環境では正しく表示されても、一歩外へデータを出せば、それは誰にも解読できない「ゴミデータの塊」に成り下がります。堀元氏はこれを、哲学者ホッブズが自然状態を評した言葉を借りて「万人の万人に対する闘争」と表現しています。
この混乱を収拾するために立ち上がったのが、アメリカの標準規格「ASCII(アスキー)」でした。しかし、これがまた別の、そしてより深い「地政学的な絶望」の始まりでもあったのです。
^7$の絶望。ASCIIが128文字しか持てなかった「ビットの重み」
ASCIIが採用した規格は「7ビット」という単位でした。
数学的に言えば $2^7 = 128$。つまり、この辞書には「128個」までしか文字を登録できないという絶対的な物理法則です。
「ASCIIコード、7ビットなんですけど、多分7ビットくらいしかないですよね、みずのさんの記憶容量」
そんな軽口が叩かれるほど、128という数字は現代の視点からはあまりに矮小です。しかし、当時のメモリや通信コストは、今の数万倍も高価なものでした。1ビット増やすだけでも、莫大なコスト増に繋がる時代。開発者たちは断腸の思いで、この「128個の椅子」に座らせるメンバーを厳選しました。
その内訳は、アルファベットの大文字・小文字、数字、記号、そして「改行」や「通信終了」といった機械への命令(制御文字)です。これらを詰め込んだだけで、128席は一瞬で満席。ひらがなや漢字を招待する余裕など、1ミリも残されていませんでした。正直なところ、アメリカで作られたこの基準にとって、英語以外の言語、特に数千の文字を持つ日本語などは「眼中にない」存在だったのです。
「10文字やめろ!」国際規格の厳しい制限と日本語の不遇
ASCIIがその後、国際規格(ISO IEC 646)へと発展した際、ようやく非英語圏の国々にも「自分たちの文字を入れてもいいよ」という許可が降りました。しかし、その条件はあまりに過酷なものでした。
各国が自由に入れ替えて使って良いと許されたのは、128文字のうち、わずか「10文字」程度。
「10文字やめろ。もうやめちまえ。そんなね。それぐらい10を開けるぐらいだったらないほうがいい」
堀元氏が憤る通り、10文字で日本語が書けるわけがありません。アクセント記号付きのフランス語やドイツ語ならまだしも、ひらがな、カタカナ、漢字を抱える日本にとって、これはデジタル世界からの「実質的な排除」に等しい宣告でした。
「日本人に生まれなきゃよかったな、文字コードの扱いで日本語不便だなーってよくなる」
そんな、技術者たちの悲痛な叫びが聞こえてくるような時代です。日本人はまず、エラー検出用に使っていた予備の1ビットを文字用として開放し、8ビット(256文字)へと拡張する道を選びました。しかし、256文字になっても、日本語という巨大な客人を収容するには、依然として広間が狭すぎたのです。
脳の仕組みに学ぶ?「切り替え文字」による革命的なハック
日本語という、アルファベット圏から見れば「異常なほど多種多様な文字」を、限られた256文字の枠でどう表現するか。その答えとして先人たちが編み出したのが、ISO IEC 2022で採用された「切り替え文字(エスケープシーケンス)」という魔法のようなアイデアでした。
これは、「特定の記号(マーカー)が現れたら、それ以降の数字の割り当てをガチャンと入れ替える」という動的な手法です。この仕組みは、人間の脳が「左脳と右脳」で役割を分担していることに例えることができます。
- GL(左側)領域: アルファベットなどの基本セットを固定しておく「左脳」のような領域。
- GR(右側)領域: 必要に応じて、ひらがなやカタカナ、あるいは漢字セットを「入れ替えて」使う「右脳」のような領域。
特定のコードが流れてくると、コンピュータは「あ、ここからはカタカナモードだな!」と判断し、同じ数字でも全く別の文字として解釈を切り替えます。
正直、これを考えた人は天才を通り越して変態的(褒め言葉)です。一文字に一つの番号を固定するという常識を捨て、「モードを切り替える」という時間軸の概念を持ち込むことで、狭い256文字という枠を、何倍、何十倍にも活用することに成功したのです。これこそが、日本語がデジタル世界に「ねじ込まれた」瞬間でした。
切り替えハックの代償:なぜ「文字化け」は消えないのか
しかし、この「ガチャン」という鮮やかな入れ替えには、致命的なアキレス腱もありました。
もし通信の途中で、その「切り替えの合図(マーカー)」が消えてしまったらどうなるでしょうか? コンピュータは今、自分が「アルファベットモード」なのか「日本語モード」なのかを見失い、迷子になってしまいます。その結果として現れるのが、あの無慈悲な「文字化け」の正体です。
この複雑な切り替え構造こそが、長年、日本のエンジニアを苦しめ続けてきた「文字化け問題」の最大の原因でした。私たちが手にした利便性は、先人たちが薄氷を踏むようなハックを積み重ねた上に成り立つ、危ういバランスの結果だったのです。
まとめ:先人たちの「闘争」の上に立つ、今の当たり前
この記事をまとめると…
- 1960年代は規格が乱立し、通信が「意図しない暗号」になる文字コードの闘争時代だった。
- 世界標準ASCIIはわずか128文字しかなく、英語圏以外を想定していない不平等なスタートだった。
- 日本語対応には「10文字の自由枠」という絶望的な檻があり、デジタル容量との闘いが続いた。
- 特定のコードでモードを切り替える「切り替え文字」の発明により、1つのコードで無限の文字を扱えるようになった。

「文字化け」は、単なるバグではありません。それは、限られたリソースの中で、なんとか自分たちの文化や言語を後世に残そうとした、エンジニアたちの「闘いの跡」なのです。
次にスマホで文字を打つとき、その一文字一文字が、128個の椅子を奪い合った歴史の果てにあることを、少しだけ思い出してみてください。現代の当たり前は、過去の「変態的」なまでの執念によって支えられているのですから。
配信元情報
番組名:ゆるコンピュータ科学ラジオ
タイトル:文字コードを脳にたとえて説明する。GL領域は左脳で、GR領域は右脳。【文字コード2】#93
配信日:2023-10-08


