文件格式参考

Magic Bytes 文件头标识与 MimeType 常见格式对照表,覆盖八大类常见文件格式

文件格式速查表

点击表格任意一行可复制对应 MimeType 到剪贴板,搜索框支持实时过滤

0 条记录
提示:Magic Bytes 是文件开头的若干字节,用于标识文件真实类型(文件签名)。点击任意一行可复制对应 MimeType 到剪贴板,便于在 Content-Type 或 Accept 头中使用。
广告位

使用说明

  1. 在顶部搜索框输入关键字,实时过滤匹配扩展名、Magic Bytes、MimeType 或说明
  2. 点击左侧分类 Tab 在八大类文件格式之间切换
  3. 表格列结构包含扩展名、Magic Bytes(十六进制)、MimeType、说明、是否常用
  4. 点击表格任意一行,复制该行对应 MimeType 到剪贴板
  5. 部分文本格式(如 txt、json、html)无固定 Magic Bytes,标注为"文本"
  6. 统计栏实时显示当前分类下记录总数

适用场景

  • 文件识别:依据 Magic Bytes 判断文件真实类型
  • 上传校验:服务器拒绝伪装扩展名的恶意文件
  • HTTP 接口:设置正确的 Content-Type 响应头
  • 取证分析:恢复无扩展名或扩展名被篡改的文件
  • 开发调试:编写解析器、文件下载、附件处理逻辑

安全保障

  • 本地查询:所有数据内嵌于页面,无需网络请求
  • 隐私保护:不收集、不上传任何用户查询内容
  • 数据来源:依据 IANA MIME 类型注册表整理
  • 免费使用:无需注册,打开即用

常见问题

什么是 Magic Bytes?为什么需要它?

Magic Bytes 是文件开头若干字节的固定标识(也称文件签名或文件头),用于唯一标识文件真实类型。它与文件扩展名相互独立,扩展名可被随意修改,而 Magic Bytes 由文件格式规范决定,难以伪造。在文件上传、取证分析、数据恢复等场景中,依据 Magic Bytes 判断类型比依据扩展名更可靠。

为什么 docx、xlsx、pptx 都是 50 4B 03 04?

Microsoft Office 2007+ 的 docx、xlsx、pptx 本质上是基于 OOXML 标准的 ZIP 压缩包,因此 Magic Bytes 与 ZIP 一致(50 4B 03 04 即 ASCII 字符"PK..")。需要进一步区分具体类型时,应解析 ZIP 内部的 [Content_Types].xml 文件。同理,jar、apk 等 Java/Android 包也是基于 ZIP 格式。

为什么 txt、json、html 等没有 Magic Bytes?

这些是基于文本的格式,文件内容直接是字符流,没有固定的二进制头部。识别这类文件通常依据文件扩展名、Content-Type 头部或内容语法分析。例如 HTML 文件以 <!DOCTYPE html> 或 <html> 开头,JSON 文件以 { 或 [ 开头,可通过解析首字符或正则匹配进一步判断。

Magic Bytes 是否一定可靠?

Magic Bytes 是判断文件类型的重要依据,但并非 100% 可靠。原因有三:(1) 部分格式有多个变体(如 BMP 的 42 4D 也可能是其他 BM 开头文件);(2) 恶意文件可故意伪造 Magic Bytes 绕过校验;(3) 容器格式(如 ZIP、RIFF)需解析内部结构才能确定真实类型。生产环境中应结合 Magic Bytes、扩展名、内容解析、杀毒扫描等多种手段综合判断。