hexダンプでファイルのバイトを調べる

本当にPNG?文字コードはどこで変わる?ファイル名では分からない質問にhexダンプが答えます。

このガイドで使う道具

やりたいこと

拡張子の嘘はよくある話です。実はUTF-16の「ログ」、PKで始まる「jpg」(実体はZIP)、オフセット0の1バイト(BOM)のせいで読めない設定ファイル。hexビューアは実際の中身を見せます。

ダンプの読み方

ファイルをドロップします。各行にオフセット・16バイトのhex・印字可能バイトが文字として見えるASCII欄が出ます。hexバイト列(例: 50 4b)やASCIIで検索してシグネチャや文字列へジャンプできます。

  • オフセット0がPK→ZIP系フォーマット(docx・xlsx・jarも)。
  • FF D8 FF→JPEG、89 50 4E 47→PNG、EF BB BF→UTF-8 BOM。
  • 1バイトおきに0→壊れたASCIIではなくUTF-16テキスト。

具体例

開けない.docxがあります。先頭2バイトは50 4B——PKでZIP系なので正常です。しかしmimetypeの検索はオフセット30にヒットせず、ダンプは14KBで終わっています。転送途中で切れていて、修復ツールでも無い末尾は作れません。

対応範囲

読み取り専用でローカル処理です。変更もアップロードもしません。16MiBまで、1行16バイト。ASCII欄は印字可能バイトのみで、マルチバイト文字の間はドットになります。