piapia123
zh

文件类型核对

网络

所有处理都在浏览器本地完成,数据不上传服务器

把文件拖到这里,或点击选择

单个文件 · 全程在本机处理

文件只在你的浏览器里读取,不会上传到任何服务器。断网也能正常用。

拖一个文件进来,把浏览器报告的类型(由后缀名推出来)与实测的文件头摆在一起对照。 为什么两条线索都要看:后缀是声明,改个名字就能骗过去,而多数程序恰恰只看它;文件头是事实,格式规范规定的,改名改不掉。两者一致时没什么可说,不一致时受伤的总是按后缀处理的那一方 —— 一个 `.jpg` 其实是 PNG,老图片查看器、按扩展名挑解析器的上传接口就会读不出来或读出乱码。 ⚠️ 两种「不一致」区别对待:`.zip` 报成 `application/x-zip-compressed` 只是同一个格式的另一种写法(命名差异,不算问题);`.jpg` 的文件头其实是 PNG 才是真的不符,会给警告并说清后果。识别用的是「文件头识别」那一份签名表,文件不上传,全部在本机完成。

功能

  • 对照三样东西:文件后缀、浏览器报告的 MIME(没给会写明)、实测的文件头类型
  • 识别复用「文件头识别」的同一份签名表,不另立一套
  • ⚠️ 区分「命名差异(无害)」与「真的不符」—— .zip / application/x-zip-compressed 不报警
  • ⚠️ 真的不符时给警告并说明后果:按后缀处理的程序会读不出来
  • 没有扩展名不算不符(没有声明与声明错了是两回事)
  • 认不出文件头时如实说,不硬套一个类型
  • ZIP 家族的 .docx / .xlsx / .jar 不会被误报
  • 文件不上传,全部在本机完成

使用方法

  1. 把文件拖进上面的区域(或点击选择文件)
  2. 看三行原始信息:后缀、浏览器报告的 MIME、实测类型
  3. 看「结论」一行:一致 / 命名差异(无害)/ 不符,以及说明

常见问题

为什么只看后缀不够,还要看文件头?
因为后缀只是一段可以随便改的文本 —— 把 a.png 改名成 a.jpg,后缀就变了,而文件里一个字节都没动。文件头(前几个字节)是格式规范规定的,改名改不掉。多数程序只信后缀,所以后缀与文件头不一致时它们会读错;这个工具就是把这两条线索摆在一起,让你在把文件发出去或传上去之前先看到矛盾。
.zip 显示成 application/x-zip-compressed,要修吗?
不用。这是同一个格式的另一种写法(Windows 等系统常这么报),与内容并不矛盾,工具会判成「命名差异(无害)」而不是警告。把命名差异也一律报成问题,只会让你学会忽略这个工具的结论 —— 所以这里刻意区分:.zip 报成 application/x-zip-compressed 不算问题,.jpg 其实是 PNG 才算。
为什么 docx 不会被判成「不是 ZIP」?
因为 docx 本来就是 ZIP 容器(xlsx / pptx / jar / apk 也是),文件头当然与 ZIP 一致。工具按扩展名是否落在实测格式声明的扩展名集合里判断,所以 .docx 不会被误报;浏览器把它报成 Office 的类型(而不是 application/zip)也属正常,只能算「无法对照」,不算冲突。

相关工具