sublime text 不支持十六进制编辑,仅能通过 hexviewer 插件只读查看:需手动触发“hexviewer: view in hex”打开二进制文件,修改保存会导致文件损坏;真正编辑须用 hxd、bless 或 010 editor 等专业工具。

Sublime Text 不能十六进制编辑,快捷键只对应“查看”切换,不存在“编辑并保存回二进制”的操作路径。 所有声称能直接编辑 Hex 并生效的教程或插件,要么混淆了“文本形式的 Hex 字符串”和“原始字节”,要么会悄悄破坏文件结构。
HexViewer: Toggle Hex View 命令根本不起作用?
这不是快捷键失效,而是 Sublime 拒绝加载二进制文件的前置逻辑没被绕过:
- 双击
.bin、.exe或.png文件 → Sublime 默认跳过解析,标签页为空或报Error loading file - 必须先打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入HexViewer: View in Hex→ 此时才弹出系统文件选择框,手动选中目标文件 - 若命令面板里搜不到
HexViewer,说明插件未正确安装:确认安装的是 facelessuser 维护的官方版,不是Hex Editor或HexView等拼写近似但功能不符的包 - 安装后建议立即执行
Package Control: Satisfy Dependencies,避免因依赖未就绪导致命令静默不可见
为什么改了十六进制字符串却不能保存为二进制?
因为你在 Hex 视图里看到和修改的,本质是一段 UTF-8 编码的文本,比如 48656c6c6f 是 10 个 ASCII 字符,不是 5 个字节:
- 按下
Ctrl+S保存,Sublime 写入的是这 10 个字符的字节流,而非0x48 0x65 0x6c 0x6c 0x6f - 原始文件头(如
ffd8 ffe0)一旦被你误删或错位,图片/可执行文件立刻损坏 - HexViewer 界面右下角始终显示
Hex Viewer (read-only),这是硬性限制,不是 UI 提示而已 - 想改字节?用
xxd -r把导出的 Hex 文本转回二进制,或直接上HxD(Windows)、Bless(Linux)、010 Editor
只看前几十字节 Magic Number 怎么最快?
不用装插件、不启动 Sublime,终端一行命令更可靠:
- Linux/macOS:
head -c 32 yourfile.bin | xxd(看前 32 字节) - Windows:
certutil -encodehex -f yourfile.bin stdout 4 | head -n 8(4表示每行 4 字节,head -n 8取前 8 行 ≈ 32 字节) - 如果非得在 Sublime 里快速看——打开空文件 →
Ctrl+Shift+P→HexViewer: View in Hex→ 手动选文件 → 它比双击快,且避开编码拦截 - 大文件(>100MB)容易卡死,可在 HexViewer 设置里加
"max_file_size": 104857600,但治标不治本
真正需要编辑二进制时,别在 Sublime 里拖拽、复制、手改 Hex 字符串——它没有字节级写入能力。那个 Toggle Hex View 快捷键,唯一安全用途是:确认结构、抄地址、查偏移、标注字段。其余动作,交给专业工具。











