打开文件
选择任意文件。文件在你的设备上读取。
看看文件里到底有什么
这个工具可以打开任意文件——图片、文档、压缩包,或者你无法识别的文件——并以十六进制转储的形式展示它的原始字节:偏移量列、十六进制字节,以及对应的 ASCII 表示。文件在你的设备上读取,这在你不想把某个文件发送到任何地方、或者不确定用它对应的程序打开是否安全时会很有用。
它只能查看,不能编辑。这里没有编辑、保存或转换功能——目的只是查看,不改动任何内容。即使是很大的文件也能保持流畅,因为只有当前屏幕上的这几行会被渲染;滚动一个有几百万行的文件,并不意味着页面上要有几百万个元素。
为什么你的文件不会离开设备
这里的隐私来自结构,而不是承诺。没有“上传”这一步,是因为根本没有可供上传的服务器:
- 文件的读取完全在你的浏览器内完成。
- 页面以静态文件的形式分发,不会发出携带你数据的请求。
- 源代码公开,任何人都可以查看(MIT)。
- 可以离线使用——既然不依赖服务器,离线自然也能用。
想自己确认的话,打开文件时看看浏览器的网络(Network)面板——没有任何请求携带文件内容。 查看源代码。
使用方法
-
打开文件
点击选择任意文件,或把它拖到页面任意位置。不论什么格式,都会在本地读取。
-
查看转储内容
每一行显示偏移量、十六进制字节,以及对应的 ASCII 表示。可以切换每行显示的字节数(8、16 或 32),以适应不同的文件。
-
跳转或搜索
可以直接跳转到某个字节偏移量,也可以搜索一段十六进制字节或一段文本。解码文本面板还能以 ASCII、UTF-8 或 Latin-1 显示当前屏幕上的字节。
常见问题
我的文件会被上传到某个地方吗?
不会。文件的读取完全在你的浏览器内完成。没有服务器端处理,所以文件内容没有离开设备的途径。源代码公开,你可以在浏览器的网络(Network)面板里确认这一点。
它能打开哪些类型的文件?
任意文件都可以。这里没有类型限制列表——十六进制查看器的意义正是查看那些你不确定类型、或者不太信任的文件。如果文件非常大(几百 MB 级别),页面会提示加载和搜索可能需要一些时间,并占用较多内存。
它能识别文件类型吗?
它会检查文件开头的字节,与 PNG、JPEG、PDF、ZIP、GZIP 这几种常见签名做比对,匹配上就会显示一个推测结果。这只是一个快速的初步判断,不是完整的文件识别功能:没有匹配到这五种签名,并不代表文件有问题,只是这项快速检查没能识别出来而已。
可以编辑文件吗?
不可以。这是一个只读的字节查看工具,不会修改、保存或导出任何内容。
搜索是怎么工作的?
可以在十六进制搜索和文本搜索之间切换。十六进制模式会查找你输入的十六进制字节对(例如 89 50 4e 47);文本模式会把你输入的内容按 UTF-8 编码后再查找对应的字节序列,这也覆盖了普通的 ASCII 文本。“上一个”“下一个”在到达文件末尾或开头后会从另一端继续查找。
解码文本面板是做什么用的?
十六进制旁边的 ASCII 列是逐字节显示的,所以无法正确显示由多个字节组成的字符。解码文本面板会把当前屏幕上的字节当作一段连续的内容,按你选择的编码(ASCII、UTF-8 或 Latin-1)来解码——这样一来,如果文件的这部分确实是该编码下的文本,带重音符号的字母、中文字符等多字节字符就能正确显示出来。
可以离线使用吗?
可以。它是 PWA,第一次访问后会被缓存,没有网络也能打开使用。你也可以把它添加到主屏幕。
文件大小有限制吗?
没有硬性限制,但打开文件后,其内容会一次性读入内存,所以实际上限取决于你设备的内存。超过几百 MB 的文件,页面会提示操作可能需要更长时间,并占用更多内存。