notepad++需安装匹配架构的hexeditor插件并关闭自动检测编码才能正确显示原始十六进制字节;复制时00易变20,编辑前须备份,光标操作逻辑与文本模式不同。

Notepad++ 本身不支持十六进制视图,必须通过 HexEditor 插件实现;没装插件时,“插件 → Hex Editor → View in Hex”菜单项是灰色的,或者点击后报错 Plugin not installed。
怎么确认 Notepad++ 架构并匹配插件版本
插件加载失败的最常见原因是位数不匹配:x86 版 Notepad++ 必须配 x86 版 HexEditor.dll,x64 版同理。不匹配会导致菜单不出现、功能无响应,甚至 Notepad++ 启动卡顿。
- 打开 Notepad++ → “帮助” → “关于 Notepad++”,看右下角明确标注的是
32-bit还是64-bit - 别看操作系统是 64 位就默认装 x64 插件——很多旧项目或企业环境仍依赖 32 位 Notepad++,且插件兼容性更稳
- 从 GitHub 官方仓库下载插件时,注意包名是否含
x86或x64;解压后只取HexEditor.dll和可选的HexEditor.ini,其余文件(如 .pdb、.exe)一律不要放进去 - 插件路径必须是
C:\Program Files\Notepad++\plugins\HexEditor\(或便携版对应plugins\HexEditor\),不能直接丢进plugins\根目录
安装后打不开二进制文件?先关掉“自动检测编码”
即使插件已正确加载,用 View in Hex 打开 .bin、.exe 或 .png 文件时,仍可能看到大量 20(空格)、0A(换行)等 ASCII 可读字节,误以为“没生效”。这是因为 Notepad++ 默认尝试用 UTF-8/ANSI 解码文件,再把解码结果转成 Hex 显示——你看到的不是原始字节,而是“被误读后的字节”。
- 打开 Notepad++ → “设置” → “首选项” → “新建文档/编码” → 取消勾选
自动检测编码(Auto-detect encoding when opening files) - 重启 Notepad++,再用
Plugins → HexEditor → View in Hex打开二进制文件,此时左侧偏移地址、中间十六进制区、右侧 ASCII 区才真正反映原始字节 - 对纯文本文件(如
.txt)启用 Hex 视图意义不大,除非你要检查 BOM、多余空格或不可见控制符
复制粘贴十六进制内容时为什么 00 变成了 20
这是 HexEditor 插件在剪贴板处理上的固有缺陷:它把选中的十六进制区域同时以“纯文本格式”和“自定义二进制格式”写入剪贴板;粘贴时若系统回退到文本格式(比如粘贴到另一软件、或插件自身解析失败),00 就会被 Windows 剪贴板机制替换成空格字符 20。
- 避免跨应用粘贴:只在同一个 Notepad++ 实例的 Hex 视图内复制/粘贴,成功率最高
- 需要导出原始字节时,不要复制显示区,改用
Plugins → HexEditor → Export to file...直接另存为新二进制文件 - 编辑关键字节(如修改 PE 文件头、PNG 签名)前,务必先备份原文件——插件支持直接编辑,但无撤销历史,误操作会直接损坏文件
真正容易被忽略的是:Hex 视图下光标定位和字节选择逻辑与文本模式完全不同。按方向键移动的是字节位置,不是字符;双击不会选中“一个十六进制对”,而是选中整个字节对应的 ASCII 字符。这点不适应,很容易改错位置。











