sublime text 默认不支持十六进制查看,需安装hexviewer插件实现文本与十六进制视图切换;大文件应使用xxd等命令行工具转换为hex文本再用sublime打开;内置python控制台可快速验证字节hex值。

sublime text 默认不支持直接查看十六进制内容
Sublime Text 本身是面向文本编辑器设计的,打开二进制文件(如 png、exe、bin)时会触发「二进制文件警告」,点击「Yes」后显示乱码——这不是 bug,而是它按 UTF-8 或系统默认编码强行解码的结果。真正想看原始字节(hex dump),必须借助插件或外部工具。
安装 HexViewer 插件是最轻量的方案
HexViewer 是 Sublime Text 社区维护的成熟插件,支持 ST3/ST4,能一键切换「文本视图 ↔ 十六进制视图」,不修改原文件,实时解析字节流。
- 用
Ctrl+Shift+P(windows/linux)或Cmd+Shift+P(macos)调出命令面板 - 输入
Package Control: Install Package并回车 - 搜索
HexViewer,回车安装 - 重启 Sublime(部分版本需重启才生效)
- 打开任意二进制文件 → 右键 →
Hex Viewer: Toggle Hex View
注意:HexViewer 默认使用大端序显示,每行 16 字节,左侧为偏移地址(00000000:),中间是 hex 值(如 89 50 4E 47),右侧是 ASCII 映射(不可见字符显示为 .)。
打开大文件时 HexViewer 会卡顿甚至崩溃
HexViewer 将整个文件加载进内存并生成完整 hex 字符串,对 >50MB 的文件极不友好。此时应改用命令行工具 + Sublime 联动:
- 用
xxd(Linux/macOS 自带)或hxd(Windows 图形工具)先转存为 hex 文本:xxd file.bin > file.hex - 再用 Sublime 打开
file.hex—— 这是纯文本,无性能压力 - 如需反向还原,可用
xxd -r file.hex > file_restored.bin
别依赖 Sublime 直接“编辑 hex”:HexViewer 的 hex 视图是只读的;任何修改都必须回到原始二进制模式(且极易破坏结构)。
用 Python 控制台快速验证某段字节的 hex 值
Sublime 内置 Python 解释器(Ctrl+`),适合小范围调试。比如你想确认 PNG 文件头是否为 89 50 4E 47:
with open("test.png", "rb") as f: head = f.read(4) print(head.hex().upper()) # 输出: 89504E47 print([b for b in head]) # 输出: [137, 80, 78, 71]
这个技巧比反复切到终端更快,尤其适合验证 magic bytes、协议头、加密前缀等场景。但注意:路径要用正斜杠或双反斜杠,单反斜杠在字符串里会被误解析为转义符。
真正难的不是看到 hex,而是理解每个字节在协议或格式规范里的语义——HexViewer 和 xxd 只负责呈现,上下文得自己补全。