选择要识别的文件
支持任意文件类型。只读取文件开头的 4KB —— 不会上传。
这个工具能做什么
无论文件名或扩展名声称是什么,大多数文件格式在开头都有一段可识别的固定字节序列,通常称为“魔数”(magic bytes)。这个工具只读取文件开头的 4KB,将这段前缀与已知签名库比对,然后告诉你它实际检测到的结果。
它主要要找的是不一致的情况:一个叫“report.txt”的文件实际是 PNG 图片,一个“.jpg”实际是 ZIP 压缩包,或任何扩展名与实际内容不符的情形。如果没有匹配到任何二进制签名,工具会检查内容能否按 UTF-8 或 Shift_JIS 解码为文本,并判断它看起来像 JSON、CSV/TSV、HTML、XML 还是 SVG。
为什么你的文件不会离开设备
这里的隐私来自结构,而不是承诺。没有“上传”这一步,是因为根本没有可供上传的服务器:
- 只会读取文件开头的 4KB —— 绝不会读取整个文件。
- 识别过程全部在你的浏览器内运行。
- 页面以静态文件的形式分发,不会发出携带你文件数据的请求。
- 源代码公开,任何人都可以查看(MIT)。
- 可以离线使用——既然不依赖服务器,离线自然也能用。
想自己确认的话,识别文件时打开浏览器的网络(Network)面板——没有任何请求携带你的数据。 查看源代码。
使用方法
-
选择一个文件
点击选择任意文件,或把它拖到页面任意位置。每次只能识别一个文件。
-
查看结果
查看检测到的格式、MIME 类型和常见扩展名;如果是文本文件,则显示编码方式和内容类型。
-
留意警告
如果文件本身的扩展名与检测到的格式不符,会最先显示这条警告。
常见问题
我的文件会被上传到某个地方吗?
不会。只会读取文件开头的 4KB,识别过程全部在你的浏览器内完成。没有服务器端处理,所以文件没有离开设备的途径。源代码公开,你可以在浏览器的网络(Network)面板里确认这一点。
“魔数”(magic bytes)是什么?
大多数文件格式都以一段固定、可识别的字节序列开头(也叫文件签名)——比如 PNG 文件总是以相同的 8 个字节开头,ZIP 压缩包以“PK\x03\x04”开头。这个工具会将文件开头的字节与已知签名库(magic-bytes.js)比对,从而报告文件的真实格式,与文件名无关。
为什么会显示一个文件可能是好几种格式?
ZIP、JAR、DOCX、XLSX、PPTX、ODT、APK 等基于 ZIP 容器的格式,开头的几个字节完全相同。要区分它们通常需要查看压缩包内部的目录结构(central directory),而这部分内容往往超出了本工具读取的前 4KB,所以工具会列出所有共享这段签名的格式,而不是随意猜测。
如果文件不是已知的二进制格式呢?
如果没有匹配到任何二进制签名,工具会尝试将开头的 4KB 按 UTF-8 解码,失败后再尝试 Shift_JIS。如果解码成功,会报告内容看起来像 JSON、CSV/TSV、HTML、XML/SVG 还是纯文本。如果两种编码都无法解码,会报告“未知的二进制数据”——既不匹配已知格式,也不是有效的文本。
这个工具会转换或打开文件吗?
不会。这个工具只负责识别文件是什么,不会转换、解压或查看其内容。如果目录中存在对应的 runlocally 工具(例如 ZIP Viewer、CSV Viewer 或 Hex Viewer),结果里会附上链接。
可以离线使用吗?
可以。它是 PWA,第一次访问后会被缓存,没有网络也能识别文件。你也可以把它添加到主屏幕,像应用一样使用。