左列为偏移地址(十六进制),中间为字节值,右列为对应的可打印字符。
文件类型是靠开头的这几个字节判断的,与扩展名无关。
| 文件头(Hex) | 真实类型 | 说明 |
|---|
⚠️ 使用提示:① 文件不会上传——读取和解析全部在浏览器本地完成,本工具没有任何网络请求;② 为保护浏览器内存,默认只读取前 64 KB,大文件不会整体载入,也不会卡死页面;③ 本工具只能查看,不能编辑保存,也不会修改你的原文件;④ 文件头识别只作参考:很多格式共用相同的前缀(如 docx / xlsx / jar / apk 都是 ZIP),需要结合后续字节判断;⑤ 某些文件(如加密压缩包、加壳程序)的头部可能被处理过,识别结果可能不准;⑥ 请勿用本工具查看涉及他人隐私或保密数据的文件。
「这个文件后缀是 .jpg,但打不开」「下载下来的东西到底是什么格式」「想确认一段数据里有没有某个标记」——这些问题的答案都在字节层面。
这个工具就是一个装在网页里的十六进制编辑器(只读):
① 三栏视图:偏移地址 + 十六进制字节 + 对应字符,和 WinHex / 010 Editor 的布局一致;
② 文件头识别:靠开头的 magic number 判断真实类型,不看扩展名——把 .jpg 改成 .png 也骗不过它;
③ Hex / 文本搜索:输入 `89504E47` 找 PNG 头,或直接搜一段文字,列出所有匹配位置,点击跳转;
④ 多编码解码:UTF-8 / GBK / Latin-1 / UTF-16LE,乱码文件时换个编码往往就通顺了;
⑤ 分段加载:默认只读前 64 KB,需要更多点「继续显示」,大文件也不会卡死。
文件在你自己的浏览器里被读取,不上传、不修改、不保存。
怎么实现:
① 分块读取:file.slice(0, limit).arrayBuffer()。只取需要的那段字节,不把整个文件读进内存,所以再大的文件也不会卡死;
② 渲染:按行拼字符串后一次性写入 DOM,并且分段渲染——先出 1024 行,点「继续显示」再追加,避免一次性生成几万个节点;
③ 文件头识别:内置一张 magic number 表,逐个比对开头字节。注意有些格式是「偏移 + 前缀」结构(如 MP4 在第 4 字节才有 `ftyp`),表里对这些做了偏移处理;
④ 搜索:Hex 模式把输入里的空格、冒号、`0x` 前缀都清洗掉再转成字节序列,然后用滑动窗口在缓冲区里匹配;文本模式则把关键词 UTF-8 编码后同样处理。自动模式看你输的是不是合法十六进制来选;
⑤ 字符列:按单字节判断,可打印(0x20~0x7E)原样显示,其余显示 `·`,这是十六进制编辑器的通用做法;
⑥ 解码预览:用 TextDecoder(encoding) 解码已读取的字节,GBK / UTF-16LE 等标签浏览器也内置支持。
它不做:不做编辑与保存、不做全文搜索(只搜已读取部分)、不做文件修复。
89504E47),点匹配位置即可跳转。File.slice() + ArrayBuffer 实现分块读取(默认 64 KB,可选至 1 MB),以 offset + 十六进制 + 字符三栏渲染并分段追加(避免大文件卡死);内置 magic number 文件头识别(含偏移型特征,如 MP4 的 ftyp),支持 Hex / 文本双模式搜索(滑动窗口匹配,列出位置并可点击跳转)与 UTF-8 / GBK / Latin-1 / UTF-16LE 解码预览。只读不修改、不上传。纯本地零依赖,适配黑夜模式。
xxd / hexdump。89504E47、89 50 4E 47、89:50:4E:47、0x89 0x50 都可以,空格、冒号、0x 前缀会自动清洗;审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!