第三話 未来からの文字化け
「……文字化け?」
画面に顔を近づけ、意味不明な記号の羅列を前にがっくりと肩を落とす零。
「嘘でしょ……。私たちの青春が、こんな読めない羅列で終わるなんて……」
あからさまに落胆して机に突っ伏す彼女を見て、私は小さく息を吐いた。
まったく、さっきまでの異常なハイテンションから一転してこれだ。
全く仕方ない奴だ、そういうところも私は好きなんだけど。
「諦めるのはまだ早いよ、零。こういう文字化けって、大体は文字コードがズレてるだけなんだ」
「文字コード?」
「そう。パソコンが文字を表示するための翻訳ルールみたいなものさ。この『縺』や『繧』は文字化けしているときよく見るだろう?」
私はキーボードに手を伸ばし、画面上の文字列をすべて選択してメモ帳へペーストする。
「Shift-JIS、EUC、それともUTF-8かな……」
カチカチと設定を切り替え、様々な文字コードを次々と試していく。
「そっか!そうだよね、私たちの青春はまだ始まったばっかだもんね!」
隣で祈るように私の手元を見つめる零の瞳には、再びキラキラとした光が戻っていた。
そんな真っ直ぐな期待を向けられると、こっちまで調子が狂ってしまう。
私はいくつかのアプローチを試みるべく、まずは一般的なデコード処理を走らせた。
画面上の文字列がパラパラと切り替わり――しかし、表示されたのはやはり意味を成さない漢字の羅列だった。
「あ、またこれだ」
画面を覗き込んでいた零が、ピンと来たように画面を指差す。
「文字化けする時って、いっつもこの『縺』とか『繧』って漢字が出ない?なんでいっつも同じ字ばっかりなんだろう?」
「鋭いね、零。それにはちゃんと理由があるんだよ」
私は少しだけ得意げに口角を上げ、キーボードを叩きながら解説を始める。
「文字化けの多くは『UTF-8』っていう規格の文字を、『Shift-JIS』っていう別の規格の定規で無理やり読もうとした時に起きるんだ。
本来『3バイト』の箱に入っている日本語を『2バイト』の枠で区切って測ろうとするから、中身がズレて、パソコンの辞書の全く違う場所を参照しちゃうんだよ」
「……さんばいと?じょうぎ?」
「要するに、翻訳のルールがズレた結果、たまたまそのズレた先に配置されているのが『縺』や『繧』って漢字なんだ。だから、この特定の文字が頻出するのを見るだけで、逆にどのルールがどうズレたか逆算できるってわけさ」
「へええ、さすが楓!なんか難しそうだけど、ハッカーっぽくてかっこいい!」
零は感心したようにコクコクと頷きながら、ふにゃりと笑った。
「楓なら絶対、私たちの青春を解読できるね。私、応援してるから……」
その声は、専門用語を立て続けに聞かされて少し脳が疲れたのか、次第にトーンが落ちていった。
―――――――――――――――――――――――――――
どれくらいの時間が経っただろうか。
隣から聞こえてくる規則的な寝息に気づき、私はキーボードを叩く手を止めた。
「……零。零?起きてくれないかい」
肩をゆさゆさと揺すると、彼女はゆっくりと目を開けた。
「んあ……?楓……?」
目をこすりながら顔を上げる零を見て、私は思わず呆れたように口角を上げてしまった。
「まったく。人に頼んでおいて寝てるなんて、相変わらずマイペースだね、君は。……いつも通りでちょっと安心したよ」
さっきの狂気を帯びたような笑顔より、こうして無防備に寝落ちしている姿の方が、ずっと私の知っている『一ノ瀬零』だった。
「あはは……ごめんって」
小さくあくびを噛み殺し、両手を合わせて謝る零。
「それで?どうだった?」
その問いかけに、私はすっと表情を引き締めた。キャスター付きのチェアを少しだけずらし、彼女にも画面が見えるようにする。
「一応見つけたんだ。対応する文字コードはね」
キーボードを叩き、画面上の記号の羅列を日本語の文章へと切り替えてみせる。
「でも……ただの文字化けじゃなかった。文字化けが文字化けして、またその文字化けが文字化けしているようなんだ。何があったらこんなデータの重ねになるのか、私にも想像がつかないよ。
一部だけ読めた文章は、『時間を飛び越える箱』という文字だけだ」
意味不明な文章だ、タイムカプセルのことだろうか?
「……楓にも、わからないの?」
零が目を丸くして聞き返してくる。
彼女の中では、私は魔法使いか何かだと思われているらしい。その無条件の信頼は悪くないが、今回ばかりは相手が悪すぎた。
「少し残ってる翻訳できた部分から、元のデータを復元できたりしないのかな?」
「うーん……、通常の1回の文字化けなら、ズレたルールを逆算すれば元の文章に戻せるんだが。でも二重・三重に文字化けを重ねると、途中でどの文字コードにも当てはまらないデータが発生して、?とか□に強制変換されてしまうんだ。
一度この代替文字に置き換わると元のデータが完全に失われるから、どんなスーパーPCでも復元が不可能になる……、残ったデータの前後から推測して埋めていくしかないかな」
私は旧型のノートパソコンから、傷一つないドクター永冨の限定USBメモリを引き抜いた。
「この旧型じゃ、これ以上の解析はスペック不足でフリーズするのがオチだ。でも――私の組んだ解析アルゴリズムと、メイン機の処理能力を使えば話は別だよ」
キャスターを蹴って、部屋の中央に鎮座する漆黒のタワー型パソコン――私の相棒の前へと移動する。
「ここからはメインの出番だ。断片的に残った文字列の欠片から、何億、何兆通りもの単語パターンを総当たりで当てはめて、潰れた重なりを一枚ずつ力技で引っぺがす。
……世界中探しても、私の組んだ解析AIとこのスーパーPCにしかできない芸当さ」
USBメモリをメイン機に接続し、淀みない手つきでキーボードを叩く。
最後にエンターキーをターンッ、と小気味よく叩き、私は背もたれに深く体重を預けた。
「セットアップ完了。あとはうちの可愛いAIに丸投げだ」
直後、漆黒のタワー型PCから、巨大な排熱ファンが轟音を立てて回り始めた。
この凄まじい処理音は、私が未知の領域に足を踏み入れた証でもある。
「さあ零、ご飯を食べに行こう。あのUSBが私たちの青春かもしれないなら、その準備で、……腹が減っては戦はできぬっていうからね」
柄にもなく少し照れながら誘うと、零は満面の笑みで返してきた。
「もちろん!楓と私の青春のはじまり!今日はその記念日だ!」
無邪気に喜ぶ彼女の笑顔を守るためなら、どんなバグだらけのデータだって、私が暴いてみせる。




