Sublime Text中能查看二进制文件的插件有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1094个文字,预计阅读时间需要5分钟。
《Sublime Text 本身不支持十六进制编辑,HexViewer 是一款稳定可靠的查看插件,且明确只读;任何声称可编辑的插件或配置都不可靠,保存即损坏文件。》
HexViewer 插件只能查看,不能编辑
HexViewer 渲染的是字节的字符串表示(比如把 0x48 0x65 显示为 4865),不是原始字节流。你在里面把 65 改成 66,Sublime 实际写入的是两个字符 "6" 和 "6",而非单字节 0x66。结果必然是文件体积膨胀、结构错乱、校验失败。
- 状态栏右下角始终显示
Hex Viewer (read-only)—— 这不是提示,是硬性限制 - 它不挂钩 Sublime 的文件保存逻辑,没有
Save as Binary、Apply to Original或任何反向还原功能 - 执行
File → Save会直接覆盖原文件为 ASCII 文本,不可逆 - 命令面板搜不到
HexViewer?常见原因:拼错成Hex View或HexEditor;当前文件未保存(未命名缓冲区无法触发);Package Control未就绪(可执行Package Control: Satisfy Dependencies重载)
怎么正确打开二进制文件并触发 HexViewer
双击 .bin、.exe 或 .png 文件一定失败——Sublime 默认拒绝加载二进制内容,不会自动切换视图。必须走命令触发:
- 先按
Ctrl+N(Windows/Linux)或Cmd+N(macOS)新建空白页 - 再按
Ctrl+Shift+P/Cmd+Shift+P调出命令面板 - 输入
HexViewer: View in Hex(注意大小写和空格),回车 - 弹出系统文件选择框,手动选中你的目标文件(如
firmware.bin) - 若已打开一个文本文件,可先
Ctrl+S保存为.bin后缀,再执行命令
别依赖右键菜单或 File → Open —— 那些路径在 Sublime 里对二进制文件完全无效。
大文件(>10MB)打不开或显示空白
默认 max_file_size 是 10MB,超限启用流式加载,但很多固件/加密 blob 开头含 \x00\x00\x9f 这类非法 UTF-8 字节,导致解析中断,报 invalid start byte 或直接空白。
- 修改配置:菜单
Preferences → Package Settings → HexViewer → Settings,在用户设置中加入:"max_file_size": 104857600(即 100MB) - 仍失败?用终端预处理验证数据可读:
xxd -g1 yourfile.bin | subl -(Linux/macOS),或 Windows 上用certutil -encodehex -f yourfile.bin stdout 4 | head -n 16 - 不要指望
File → Reopen with Encoding → Hexadecimal—— Sublime 根本没有这个编码选项,是误传
真正需要编辑十六进制时该怎么做
Sublime 的核心限制在于:它读写文件依赖编码器(如 UTF-8 decoder),而二进制数据没有编码定义。所有“在 Sublime 里改 Hex 再保存”的路径都绕不开这个底层矛盾。
- 安全做法:用
xxd -g1 file.bin > file.hex导出可读 Hex 文本 → 在 Sublime 里搜索、替换、加注释 → 保存后运行xxd -r -g1 file.hex > file_new.bin还原 - 推荐专业工具:Windows 用
HxD,Linux 用Bless或xxd + vim,macOS 用0xED或 VS Code 配合官方Hex Editor扩展 - 别信“Sublime + 某插件 = Hex 编辑器”的说法——目前没有任何插件能突破 Sublime 的文本层抽象,强行编辑只会让文件损坏得更隐蔽
最容易被忽略的一点:HexViewer 不解析编码,也不做字符映射。你看到的 e4 bd a0 就是原始字节,不是“乱码”;想确认含义,得用 bytes.fromhex("e4 bd a0").decode("utf-8") 这类外部手段验证,而不是在 Sublime 里瞎猜或乱改。
本文共计1094个文字,预计阅读时间需要5分钟。
《Sublime Text 本身不支持十六进制编辑,HexViewer 是一款稳定可靠的查看插件,且明确只读;任何声称可编辑的插件或配置都不可靠,保存即损坏文件。》
HexViewer 插件只能查看,不能编辑
HexViewer 渲染的是字节的字符串表示(比如把 0x48 0x65 显示为 4865),不是原始字节流。你在里面把 65 改成 66,Sublime 实际写入的是两个字符 "6" 和 "6",而非单字节 0x66。结果必然是文件体积膨胀、结构错乱、校验失败。
- 状态栏右下角始终显示
Hex Viewer (read-only)—— 这不是提示,是硬性限制 - 它不挂钩 Sublime 的文件保存逻辑,没有
Save as Binary、Apply to Original或任何反向还原功能 - 执行
File → Save会直接覆盖原文件为 ASCII 文本,不可逆 - 命令面板搜不到
HexViewer?常见原因:拼错成Hex View或HexEditor;当前文件未保存(未命名缓冲区无法触发);Package Control未就绪(可执行Package Control: Satisfy Dependencies重载)
怎么正确打开二进制文件并触发 HexViewer
双击 .bin、.exe 或 .png 文件一定失败——Sublime 默认拒绝加载二进制内容,不会自动切换视图。必须走命令触发:
- 先按
Ctrl+N(Windows/Linux)或Cmd+N(macOS)新建空白页 - 再按
Ctrl+Shift+P/Cmd+Shift+P调出命令面板 - 输入
HexViewer: View in Hex(注意大小写和空格),回车 - 弹出系统文件选择框,手动选中你的目标文件(如
firmware.bin) - 若已打开一个文本文件,可先
Ctrl+S保存为.bin后缀,再执行命令
别依赖右键菜单或 File → Open —— 那些路径在 Sublime 里对二进制文件完全无效。
大文件(>10MB)打不开或显示空白
默认 max_file_size 是 10MB,超限启用流式加载,但很多固件/加密 blob 开头含 \x00\x00\x9f 这类非法 UTF-8 字节,导致解析中断,报 invalid start byte 或直接空白。
- 修改配置:菜单
Preferences → Package Settings → HexViewer → Settings,在用户设置中加入:"max_file_size": 104857600(即 100MB) - 仍失败?用终端预处理验证数据可读:
xxd -g1 yourfile.bin | subl -(Linux/macOS),或 Windows 上用certutil -encodehex -f yourfile.bin stdout 4 | head -n 16 - 不要指望
File → Reopen with Encoding → Hexadecimal—— Sublime 根本没有这个编码选项,是误传
真正需要编辑十六进制时该怎么做
Sublime 的核心限制在于:它读写文件依赖编码器(如 UTF-8 decoder),而二进制数据没有编码定义。所有“在 Sublime 里改 Hex 再保存”的路径都绕不开这个底层矛盾。
- 安全做法:用
xxd -g1 file.bin > file.hex导出可读 Hex 文本 → 在 Sublime 里搜索、替换、加注释 → 保存后运行xxd -r -g1 file.hex > file_new.bin还原 - 推荐专业工具:Windows 用
HxD,Linux 用Bless或xxd + vim,macOS 用0xED或 VS Code 配合官方Hex Editor扩展 - 别信“Sublime + 某插件 = Hex 编辑器”的说法——目前没有任何插件能突破 Sublime 的文本层抽象,强行编辑只会让文件损坏得更隐蔽
最容易被忽略的一点:HexViewer 不解析编码,也不做字符映射。你看到的 e4 bd a0 就是原始字节,不是“乱码”;想确认含义,得用 bytes.fromhex("e4 bd a0").decode("utf-8") 这类外部手段验证,而不是在 Sublime 里瞎猜或乱改。

