初級では「名札(拡張子)・中身(0と1)・読み方(形式)・担当(アプリ)」の4点セットを見ました。ここでは中身側の証拠と読み方の決まりの実名に踏み込みます。読み終わる頃には、文字化けと「開けないファイル」を理屈で切り分けられるはずです。
用語には「※1・※2…」と番号を付けて、各セクション末尾の「登場人物メモ」で説明します。
中級の解説は準備中のため、中級の内容を表示しています。
初級では「名札(拡張子)・中身(0と1)・読み方(形式)・担当(アプリ)」の4点セットを見ました。ここでは中身側の証拠と読み方の決まりの実名に踏み込みます。読み終わる頃には、文字化けと「開けないファイル」を理屈で切り分けられるはずです。
用語には「※1・※2…」と番号を付けて、各セクション末尾の「登場人物メモ」で説明します。
🎬 アニメーション『ダブルクリックの3秒』の ② のところです!
名札は拡張子だけではありません。世界には3種類の「種別の伝え方」があります:
file コマンドやアップロード検証が見るContent-Type ヘッダで配信側が宣言し、ブラウザはこれに従う登場人物メモ(※の説明):
89 50 4E 47、ZIPなら 50 4B、PDFなら %PDF など、形式ごとの署名。名札と違って中身に埋まっているtext/html image/png のような「大分類/小分類」表記。名前の由来はメールだが、今はWeb全体の標準⚠️ イレギュラー(3つの証言が食い違うとき):
🎬 アニメーション『ダブルクリックの3秒』の ③〜④ のところです!
OSの対応表と、その周辺の実装です:
⚠️ イレギュラー(対応表まわりの事故):
🎬 アニメーション『ダブルクリックの3秒』の ⑤〜⑦ のところです!
「読み方の決まり」の実名はファイルフォーマット仕様です。解読には層があります:
登場人物メモ(※の説明):
⚠️ イレギュラー(解読の事故):
Linux/Macのターミナルで file 名前 と打つと、拡張子を無視してマジックナンバーから種別を判定してくれます。cat.txt に改名した画像も JPEG image data と見破ります。名札(拡張子)・中身(マジックナンバー)・読み方(フォーマット)が別物であることを、手元で1分で確認できる実験です。
まとめ——種別の証言は名札(拡張子)/ 中身の署名(マジックナンバー)/ Webの宣言(MIMEタイプ)の3系統あり、食い違いこそがトラブルと攻撃の源でした。そして解読の最下層には文字コードと圧縮がいる。「開けない・化ける・劣化する」は全部、この地図のどこかで説明がつきます。
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. テキストファイルが「文字化け」する原因として正しいものはどれ?
問2. マジックナンバー(ファイル先頭の署名バイト)の説明として正しいものはどれ?
問3. Webの世界でファイル種別を伝える「MIMEタイプ(Content-Type)」と拡張子の関係はどれ?
問4. 「cat.jpg を cat.png に改名する」ことと「画像アプリで PNG形式として保存し直す」ことの違いはどれ?
問5. JPEGやMP3が使う「非可逆圧縮」の説明として正しいものはどれ?
問6. 圧縮の手順を逆にたどれば元の完全なデータへ戻せる「可逆圧縮」の例の組み合わせはどれ?
問7. 解読の最初の大きな分かれ道である「テキストとバイナリ」の違いとして正しいのはどれ?
問8. Linux や Mac のターミナルで、拡張子を無視してファイル先頭のマジックナンバーから種別を判定するコマンド名を答えてください。