上 下
16 / 50
第2章 お友だちから始めるのでも

2.〈 04 〉

しおりを挟む
 猪野さんは、お仕事で〈省力化〉を徹底する主義の男なのよ、たぶん。
 要するにデモンストレーション用のファイル名なんてどうでもいいってこと。だからシンプルに〈a.txt〉で十分。そして2人もaから始めるの。うふふ。

「ではなまデータを見ましょう」
「生データ?」

 生ビールみたいな? ――アタシ飲みませんから。苦いのヤダもんね~。

「はい。プログラミングなどに関わらない人たちにとっては、ほとんど馴染みのない言葉かもしれませんね。今の場合は、文字コードのという意味合いになります」
「そういうことですか」

 まあ黙って聞いておく。
 それでパソコンには〈Binaryバイナリー Editorエディター〉という別のアプリが起動してきて、さっきの〈a.txt〉が開かれる。
 ただし〈獅子郎〉という漢字3文字は表示されずに、英数字が2文字でペアを作ってたくさん並んでいる。

 EF BB BF E7 8D 85 E5 AD 90 E9 83 8E

 よくわからないけど、これが〈a.txt〉のなんだね。
 こういう数字とアルファベットのAからFまでを使う表記は見覚えがあるよ。

「猪野さん、これって16進数ってやつですよね?」

 えっへん! 文系専門のアタクシだって、これくらい知ってますとも。

「その通りです。16進ダンプ、あるいはバイトストリームなどともいいます。もしかして、お聞きになられたことがありますか?」

 さすがのアタシもそこまでは知らないです。
 うん、たぶん聞いたこともない……、あ、ちょい待ち! それってお父さんが正男に熱く語っていた攻撃技? 猪野さん今度こそウケ狙い?

「えっとあの、それは『バイトストリーム、アタァーック!』みたいな技?」
「へえ……? あ、もしかして昔のロボットアニメかなにかのネタをいっておられるのでしょうか? でも残念ながら僕はほとんど知りません。申しわけございません」
「あっ、いえいえ、そんなそんな……」

 違ってた! バイトストリーム、要するにバイトの流れね。
 まあどうだっていいわ……。

「大森さんはロボットアニメがお好きなのでしょうか?」
「いえ、別にそういうわけじゃなくて……、あは」
「そうですか」

 うんそうです。ああ、マサコちゃん心が寒いわ……。
 つまんない横槍ばっかり入れて解説を中断させて、こちらの方こそホント申しわけないです。えっと、そもそもなんの説明だったかしら?

 EF BB BF E7 8D 85 E5 AD 90 E9 83 8E

 うんそうそう、獅子郎ファイル〈a.txt〉の生データのことよ。
 これがどうしたっていうのでしょうか、猪野獅子郎先生。

「あの、すみませんでした。どうぞ続けてください」
「承知しました。この先頭にある3バイト〈EF BB BF〉なのですが、これが先ほど話しましたボムです。これを削除すれば〈BOMなしUTF-8〉になります。ではやりますよ?」
「はいはい、どうぞやっちゃってください」

 猪野さんは〈Delete〉キーを使って、容赦なく3連星ボム〈EF BB BF〉を立て続けにバッサバッサと切り捨てちゃった。そしてすぐさま〈Ctrl+s〉でセーブ、からの〈Alt+Tab〉で選手交替!
 ここでチェリーエディター君が再登場してくる。速攻だ! この華麗な連携プレーに、獅子郎〈a.txt〉君もなす術がなぁ~い!!
 おっと、なんだなんだ!? また別の画面が出てきて、黄色い3角の中のビックリマークが「外部でファイルが変更されています。読み直しますか?」ですって。

「このチェリーエディター君、開いているファイルの変化にちゃんと気づいたんだ。これもすごいですねえ~」
「うるさいですね」
「えっ、うるさい!? ごめんなさい、すみません、余計なことばかり……」
「ああ、いえいえ違いますよ。大森さんがうるさいのではなく、このエディターのことです。今の場合、変更したことを僕たちは承知しておりましたから『わざわざ通知してくださらなくても、わかっております』という意味で、そのようにいったのです」
「ふぇ~、そういう意味ですか~」

 アタシ、怒られちゃったのかと思ったよ。

「このファイル変更通知機能は無効に設定することもできますが、逆に通知が便利な場合も、ときにはあるのです。それはいつか? 今でしょう!」
「は?」

 あれ!? ここって笑うところ? どうしよ、笑おうか、やめとこうか?
 こんなアタシの健気な戸惑いにも気づかず、猪野さんはチェリーエディターの画面を指差している。

「大森さん、右下隅をご覧ください。今はまだ〈BOMつきUTF-8〉と表示されています。そこをよく見ていてくださいよ」
「はい」

 猪野さんがビックリマーク画面についてる〈はい〉をクリックした。

「あっ、かわった!」

 なんとチェリーエディターの右下隅が〈BOMなしUTF-8〉に変化したのです。でも、それでいてテキストは〈獅子郎〉という漢字3文字のまま。
 冷静に考えれば特別におもしろいことでもないけれど、ほんのチョッピリ感動したかも。こんなの見るのは初めてだったから……。
 そして今度はバイナリーエディターの方に視線を移す。先頭の3バイトが削除されたから、残っているのは9バイト。

 E7 8D 85 E5 AD 90 E9 83 8E

 これが〈獅子郎〉という3文字のデータなんだね。
 ということは……、ああ、これはピンときちゃったかも!

「もしかして〈UTF-8〉のファイルは、3バイトずつのコードを使って1文字を表わしてるんじゃないでしょうか? 違います?」
「その推測は間違いではありません。今試しております〈獅子郎〉の場合ですと、各文字の〈UTF-8〉コードはそれぞれ3バイトずつになります。しかし半角の英数字やいくつかの半角記号など、それらは〈ASCIIアスキー文字〉と呼ぶのですが、どれも1文字が1バイトです。そして1文字2バイトのものもあります。例えばギリシャ文字の〈α〉や〈β〉などがそうです。さらには最大で6バイトまでの文字もあり得るのです」
「へえぇ~、そうなんですか~。あ、でもなんだか複雑ですね?」
「そうですね」

 う~む、恐るべきかな〈UTF-8〉さん。こんな厄介者、アタシなんぞが扱うべきじゃあなかったのね~。
 ていうか、猪野さんの説明は丁寧過ぎて長いよ。そろそろ飽きてきちゃうかも。
 でも今さら「もういいです」なんていえないし、退屈でも聞かねばならぬ。マサコちゃん気分アンニュイ。
しおりを挟む

処理中です...