Sublime Text如何查看Hex十六进制源码_Sublime读取二进制文件【进阶】

2次阅读

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

Sublime Text如何查看Hex十六进制源码_Sublime读取二进制文件【进阶】

sublime text 默认不支持直接查看十六进制内容

Sublime Text 本身是面向文本编辑器设计的,打开二进制文件(如 pngexebin)时会触发「二进制文件警告」,点击「Yes」后显示乱码——这不是 bug,而是它按 UTF-8 或系统默认编码强行解码的结果。真正想看原始字节(hex dump),必须借助插件或外部工具。

安装 HexViewer 插件是最轻量的方案

HexViewer 是 Sublime Text 社区维护的成熟插件,支持 ST3/ST4,能一键切换「文本视图 ↔ 十六进制视图」,不修改原文件,实时解析字节流。

  • Ctrl+Shift+Pwindows/linux)或 Cmd+Shift+Pmacos)调出命令面板
  • 输入 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 只负责呈现,上下文得自己补全。

text=ZqhQzanResources