
拡張子って何? 必要なの???
- — 完全ダイジェスト コンピュータが好きな人とそうでない人を一発で見分ける方法がある。それはWindowsの「拡張子を表示する設定」にしているかどうかだ。堀元見と水野太貴...
- [0:05] 拡張子表示設定が「コンピュータ好き」の証 堀元は冒頭から断言する。「コンピューター好きな人は漏れなく表示する設定にしている」。Windowsは標準設定では拡...
- [2:28] 拡張子の正体 — コンピュータのための「ダンボールのラベル」 水野は拡張子の役割を「いまいちわかっていない」と認める。なぜjpegとpngが共存しているのか...
英語Podcastの要点を、聴く前に日本語で把握したい人。
ゆるコンピュータ科学ラジオ / ゆるコンピュータ科学ラジオ
拡張子って何? 必要なの??? — 完全ダイジェスト
コンピュータが好きな人とそうでない人を一発で見分ける方法がある。それはWindowsの「拡張子を表示する設定」にしているかどうかだ。堀元見と水野太貴の二人が、ファイル名の末尾についた「.jpeg」や「.mp3」といった拡張子の正体と役割を、実演を交えながら軽快に解説する。拡張子は単なるおまけではなく、デジタルデータの「中身」をコンピュータに伝える重要な手がかりであり、それを意識することでセキュリティ向上や新しい技術の発見、さらにはファイル操作の楽しみまで広がるというのが、このエピソードの核心である。
拡張子表示設定が「コンピュータ好き」の証
堀元は冒頭から断言する。「コンピューター好きな人は漏れなく表示する設定にしている」。Windowsは標準設定では拡張子を非表示にしており、ファイル名だけが表示される。しかし堀元にとって、拡張子を常に意識することは「アフリカのある言語話者が常に東西を意識しながら生活する」ようなもので、ダウンロードしたファイルに見たことのない拡張子がついているだけで大喜びするという。水野も「iPhoneで撮った写真をPCに送ると拡張子が.heicになってびびった」と共感する。堀元はさらに、約10年前にTwitterで画像をダウンロードすると「.jpg-large」という拡張子がついてきて、どの画像エディタでも開けなかったという衝撃的な体験を語る。Twitter側が画像サイズを区別したい意図は理解できるが、拡張子に使うのは「バカじゃねえの」というのが堀元の率直な感想だ。このように、拡張子をめぐる「おかしな仕様」に文句を言うのも含めて、コンピュータ好きの楽しみ方の一つだと彼は主張する。
拡張子の正体 — コンピュータのための「ダンボールのラベル」
水野は拡張子の役割を「いまいちわかっていない」と認める。なぜjpegとpngが共存しているのか、なぜ「.jpeg」と「.jpg」の二種類があるのか、疑問は尽きない。堀元はまず基本を説明する。拡張子とは「そのファイルが何なのかを示すためのもの」であり、ファイル名が人間のために書かれるのに対し、拡張子はコンピュータのために書かれる。コンピュータは拡張子を見て「これは画像だから画像ビューワーを起動すればいい」「これは音楽だから音楽ソフトを起動すればいい」と判断する。なぜこんな仕組みが必要かというと、コンピュータが扱うすべてのデジタルデータは「0と1の羅列」であり、パッと見ただけでは画像なのか音楽なのか文章なのか区別がつかないからだ。堀元は「人間だったら、目の前にあるのが絵なのか音楽なのかわからなくなることはない」と指摘し、コンピュータにとってはそれが当たり前の状況だと強調する。具体的な例として、ゆるコンピュータ科学ラジオのジングル(音声データ)と水野の「腹立つ画像」の二つのファイルを用意し、それぞれの先頭部分の0と1の羅列を見せて「どちらがどちらかわかりますか?」と問いかける。当然、人間には区別できない。だからこそ拡張子が必要なのだ。堀元はこれを「引っ越しの時のダンボールに似ている」と例える。中身が全部同じ段ボール箱でも、表面に「フライパン」と書いてあれば区別できる。拡張子はまさにそのラベルなのだ。
拡張子が違えば解釈の仕方も違う — JPEGとPNGの違い
拡張子は画像か音楽かという大分類だけでなく、同じ画像の中でも「jpeg」と「png」のように細かい形式を区別する役割も持つ。堀元はJPEGとPNGの違いを「描き方の違い」と説明する。JPEGは「めっちゃ大まかなスケッチから始めて、後で細かいところを書いていく」方式で、PNGは「全体をザーッと綺麗に書く」方式だ。その結果、JPEGは圧縮が強く効いてファイルサイズが軽くなる反面、一度JPEGに変換すると元の情報に戻せなくなる「非可逆圧縮」になる。一方PNGは元の情報を損なわずに変換できる「可逆圧縮」だが、ファイルサイズは大きくなりがちだ。水野は「その情報があればもっといい編集者になれたのに」と悔しがる。堀元はさらに、JPEGの画像をPNGとして読み込もうとすると「ガビガビのわけわからない画像」になることを説明する。これは文字化けと原理が同じで、データの解釈ルールが違うために起こる現象だ。そして堀元は実際に、水野の「腹立つ画像」を音声データ(MP3)として無理やり再生してみせる。結果は「完全なノイズ」。画像データを音として解釈すると、ランダムな値の羅列になるため、ホワイトノイズのような音になるのだ。堀元は「ノイズって絵の具で言うなら黒色みたいなもの。いろんな色をどんどん突っ込んでぐちゃぐちゃにすると結局黒になる」と比喩する。ちなみに、このノイズをAIに分析させたところ「JPEG画像を無理やり音として読んでいるので、冒頭のメタデータ部分の高周波が含まれていて高めの音が出ている」と答えたという。
拡張子の悪用とセキュリティ — 二重拡張子攻撃
拡張子は単なるファイル名の一部なので、ユーザーが自由に書き換えられる。昔はソフトウェアが今ほど賢くなかったため、拡張子を書き換えるだけでファイルの解釈を変えさせることができた。堀元はこの仕組みを悪用した攻撃手法を紹介する。Windowsで動くプログラムの実行ファイルは拡張子が「.exe」だが、これは最も警戒される拡張子だ。そこで攻撃者は「請求書.pdf.exe」のように二重の拡張子をつける。拡張子を表示する設定にしている人には「.exe」まで見えるが、非表示にしている人には「請求書.pdf」の部分しか見えない。さらに実行ファイルは任意のアイコンを設定できるため、Acrobat Readerのアイコン(赤い四角い紙)に偽装することも可能だ。そうすると、ユーザーは「請求書.pdf」だと思ってクリックし、実際にはマルウェアが実行されてパソコンを乗っ取られる。堀元は「拡張子は表示する設定にしておくべき」と強く主張する。セキュリティ上の観点からも、自分が何のファイルを開こうとしているのかを常に意識する必要があるのだ。水野は「拡張子が4文字あると長くてノイジーだ」と抵抗を示すが、堀元は「珍しい拡張子を見つける楽しみもある」と譲らない。例えば「.webp」はGoogleが開発したWeb向けの新しい画像形式で、最近よく見かけるようになった。「.heic」はAppleが開発した高効率な画像形式で、JPEGと同等の画質を保ちながらファイルサイズを約半分にできる。堀元は「こういう新しい技術の登場を拡張子から感じ取れるのも、表示設定にしているからこそ」と語る。
世界の拡張子は「ZIPかZIP以外か」
堀元は「世界の拡張子はざっくり二つに分かれる。ZIPかZIP以外か」と衝撃的な事実を披露する。ZIPは圧縮ファイルの代表格だが、実は多くのファイル形式が内部でZIPを採用している。例えばWordの保存形式「.docx」、Excelの「.xlsx」、PowerPointの「.pptx」は、すべてZIPファイルに独自の拡張子をつけただけなのだ。堀元は実際に、番組の台本ファイル(.docx)の拡張子を「.zip」に書き換えて展開してみせる。すると、中から「document.xml」というXMLファイルや画像ファイルがバラバラに現れる。Wordは文書の内容をXMLで記述し、そこに埋め込まれた画像などをZIPで一つにまとめているのだ。水野は「なんかバグ技みたい」と驚く。堀元はZIPの仕組みについても補足する。ZIPが行っているのは「複数ファイルをまとめる作業」と「データを圧縮する作業」の二つで、これらは論理的に別のものだ。まとめるだけなら情報量は増えるが、圧縮によって「0が50個連続している」といったパターンを短い表現に置き換えることで全体のデータ量を減らしている。堀元はこの二段階の処理を「企業合併」に例える。三井と住友が合体して「三井住友」になるのがまとめる作業で、さらに「SMBC」と略すのが圧縮にあたるという、ユニークな喩えで笑いを誘う。
CSVの正体と「何でも開ける」データ形式の価値
水野は「CSVで吐き出す」という言葉に憧れを感じつつも、その正体をよく理解していない。堀元は「CSVとはComma-Separated Valuesの略で、カンマ区切りの値のこと」と簡潔に説明する。数字や文字をカンマで区切って並べただけのシンプルな形式で、ほとんどすべてのソフトウェアで開けるという利点がある。Excelの独自形式(.xlsx)で保存するとExcelでしか開けなくなるが、CSVならどんな表計算ソフトでもテキストエディタでも扱える。だからこそ、データの受け渡しにはCSVが重宝されるのだ。堀元はさらにJSONという形式も紹介し、「世の中のファイルはなるべく何でも開けるデータ形式で保存するべき」と主張する。その点、Microsoft Office製品は独自形式に固執しすぎており、同じMicrosoft製品なのにMacで開くとレイアウトが崩れるなどの問題を引き起こす。堀元は「Microsoftの社員は何を考えているんだ」と怒りを爆発させるが、直後に「大好きです。Copilotと一緒ならもっとできる」と、スポンサーを意識した(?)フォローを入れる。このギャップに水野は「ふざけすぎだ」と呆れる。
拡張子を見る習慣がもたらす発見
エピソードの終盤、堀元は拡張子を意識することの効用をまとめる。常に気にしろというわけではなく、「なんとなく見る癖をつけておけば、変なやつの時だけ『うん?』となる」程度でいい。JPEGのような日常的な拡張子は無意識に処理されるようになる。大事なのは、見慣れない拡張子に出会ったときに「何これ?」と興味を持ち、調べてみることだ。それによって新しい技術や面白い仕様を発見できる。また、身の回りのファイルが実はZIPだった場合、拡張子を書き換えて展開してみる「いたずら」も勧めている。ファイル名を変えただけなので、拡張子を戻せば元に戻る。ただし、バックアップは取っておくべきだというのが堀元のアドバイスだ。水野は「秘書がクラウド同期をやってくれている」と言い張るが、堀元は「やってないよ、あいつ絶対」と即座に否定する。最後に堀元は「皆さんの推し拡張子をコメントで募集したい」と締めくくる。
まとめ
このエピソードは、一見地味な「拡張子」というトピックを、コンピュータ科学の本質的な理解にまで掘り下げた好例である。拡張子が単なるファイル名の飾りではなく、デジタルデータの「解釈ルール」を指定する重要なメタ情報であること、そしてそれを意識することでセキュリティ向上や新しい技術の発見、さらにはファイル操作の楽しみまで得られることが、実演と具体例を交えて鮮やかに描かれた。堀元の「コンピュータ好きは拡張子を表示する設定にしている」という冒頭の主張は、単なるオタク的こだわりではなく、合理的な判断であることが理解できる。また、Wordの.docxが実はZIPファイルであるという事実は、多くのリスナーにとって「目から鱗」の発見だっただろう。技術の仕組みを「引っ越しのダンボール」や「企業合併」といった身近な比喩で説明する堀元の語り口は、コンピュータ科学に詳しくないリスナーにも優しい。水野の「わからない」という率直な反応が、リスナーの疑問を代弁し、堀元の解説を引き出す良い役割を果たしている。
要点
- 拡張子はファイル名の一部で、コンピュータに「このファイルは画像です」「これは音楽です」と教えるためのラベル。人間のためのファイル名とは別の役割を持つ。
- デジタルデータはすべて0と1の羅列であり、パッと見ただけでは画像と音楽の区別もつかない。拡張子はその解釈ルールを指定するために不可欠。
- JPEGとPNGでは画像の圧縮方式が異なり、JPEGは非可逆圧縮で軽いが画質が劣化しやすく、PNGは可逆圧縮で高画質だがファイルサイズが大きい。
- 拡張子を書き換えるだけでファイルの解釈を変えられることを悪用した「二重拡張子攻撃」が存在する。セキュリティ対策として拡張子は表示設定にすべき。
- Wordの.docx、Excelの.xlsx、PowerPointの.pptxは、実はすべてZIPファイルに独自の拡張子をつけたもの。拡張子を.zipに書き換えて展開すると中身が見られる。
- CSV(カンマ区切り値)はシンプルでほぼすべてのソフトで開けるため、データの受け渡しに重宝される。独自形式より汎用性の高い形式を選ぶことが重要。
- 拡張子を意識する習慣をつけると、新しい技術(.webpや.heicなど)の登場をいち早く感じ取れ、ファイル操作の楽しみも広がる。
- 拡張子を書き換えてもファイル本体のデータは変わらないので、元に戻せば問題ない。ただしバックアップは取っておくべき。