ファイルタイプ検出(マジックバイト)
ブラウザでドロップされた任意のファイルの最初の 512 バイトを読み取り、~35 種類のよく知られたファイルシグネチャ(PNG、JPEG、GIF、WebP、PDF、ZIP、GZIP、7z、MP3、FLAC、MP4、MKV、WOFF2、ELF、PE、SQLite、…)のテーブルと照合する。検出されたタイプをブラウザが報告した MIME(OS から、通常拡張子に基づく)と比較し、不一致にフラグを立てる — ダウンロードしたアーカイブを確認したり、リネームされた .jpg が本当に JPEG であることを検証したり、処理前にユーザーアップロードファイルの妥当性をチェックするのに便利。
—
使い方
- 任意のファイルをドロップまたは選択。
- 検出されたタイプを確認 — 宣言されたものと食い違う場合、バッジが教えてくれる。
よくある質問
- ファイルはブラウザを離れる?
- いいえ。最初の 512 バイトだけが読み取られ、File API を通じてローカルでのみ。アップロードはなし。
- なぜ .docx が ZIP として表示される?
- DOCX、XLSX、PPTX、JAR、EPUB、OOXML はすべて内部的に ZIP コンテナ。区別するにはアーカイブ内の特定のエントリを調べる必要がある — マジックバイト検出だけでは区別できない。
- シグネチャは一致するのにファイルが開けないのはなぜ?
- マジックバイトはファイルの先頭しか説明しません。途中で切れたダウンロード、テキストモードで転送されたバイナリ(データ内の改行が書き換わります)、中身が壊れたコンテナは、いずれもヘッダーだけは正しいまま、残りが使い物にならない状態です。判定が教えてくれるのは、そのファイルが何だと名乗っているかであって、完全かどうかではありません。
- 異なる形式が同じシグネチャを共有することはありますか?
- あります。いちばん分かりやすいのがZIPで、.docx、.xlsx、.odt、.jar、.apk、.epubはすべてZIP書庫です。したがって本当の正体は先頭のバイトではなく、中に何が入っているかで決まります。ファイルのもっと後ろのバイトで識別される形式もあるため、極端に短いファイルや別のコンテナに包まれたファイルは、判定不能として返ることがあります。
このテーマのガイド
関連ツール
MIME タイプ検索
ファイル拡張子から MIME タイプを検索(または逆引き)。各タイプの用途も解説。
開発 0 0
EML ファイルビューア
`.eml` ファイルをドロップしてパースされたメッセージを読む — キーヘッダー、プレーンテキストと HTML ボディパート、添付ファイルのリスト — すべてブラウザ内で。
ファイル 0 0
ファイル文字コード判定ツール
任意のテキストファイルをアップロードして文字コードを判定 — UTF-8·UTF-16 LE/BE·UTF-32·Latin-1·ASCII — BOM判定·バイト信号分析·16進プレビュー付き。
ファイル 0 0
バイトサイズ変換(KB / KiB / MB / MiB / ...)
10 進(KB・MB・GB — SI 基数 1000)と 2 進(KiB・MiB・GiB — IEC 基数 1024)のバイト単位、ビットを変換。
変換 0 0
ファイルハッシュ (チェックサム)
任意のファイルの SHA-1・SHA-256・SHA-512 チェックサムを計算。
ファイル 0 0
ファイル分割
大きなファイルを小さなチャンクに分割し、添付 / アップロードのサイズ制限を回避。
ファイル 0 0