Notepad++需安装匹配架构的HexEditor插件并关闭自动编码检测,才能查看文件真实十六进制字节:先确认32/64位→下载对应HexEditor.dll→放入plugins\HexEditor\→关进程重开→取消“Auto-detect encoding”→再View in Hex。

Notepad++ 本身不显示字符编码,得靠 HexEditor 插件看原始字节
Notepad++ 默认打开文本文件时,只按当前编码(如 UTF-8、ANSI)渲染字符,你看到的“特殊符号”已经是解码后的结果。想查它在文件里实际存的是哪几个字节(即十六进制编码),必须绕过文本解码层,直接读原始字节——这只有装了 HexEditor 插件并正确配置后才能做到。
确认 Notepad++ 架构并安装匹配的 HexEditor 插件
插件加载失败是看不到 View in Hex 菜单项的最常见原因,不是功能不存在,是根本没加载进来。
- 打开 Notepad++ → 帮助 → 关于 Notepad++,右下角明确写着
32-bit还是64-bit——这是唯一可信依据,别看系统位数 - 去 HexEditor 官方 GitHub Releases 下载对应版本:比如显示
32-bit就下HexEditor_0.9.8_x86.zip - 解压后只取
HexEditor.dll(和可选的HexEditor.ini),放进plugins\HexEditor\目录(注意:不是plugins\根目录,子目录名必须全小写hexeditor会失败) - 彻底退出 Notepad++(任务管理器里确认没有
notepad++.exe进程残留),再重新启动
关闭自动检测编码,否则看到的不是真实字节
即使插件已加载,打开一个含特殊符号的 .txt 文件后点 Plugins → HexEditor → View in Hex,左侧偏移地址和中间十六进制区仍可能显示大量 20、0A、EF BB BF 等——这不是错,是你被 Notepad++ 的“自动检测编码”机制干扰了:它先用猜测的编码把文件转成 Unicode 字符串,再把字符串转回字节展示,中间已失真。
- 进入 设置 → 首选项 → 新建文档/默认目录,取消勾选
Auto-detect encoding when opening files - 重启 Notepad++,再打开目标文件(建议先另存为 ANSI 或 UTF-8-BOM 编码格式,避免乱猜)
- 此时再执行
View in Hex,中间列显示的就是文件磁盘上真实存储的字节序列,比如中文“中”在 UTF-8 下是E4 B8 AD,在 GBK 下是
复制十六进制内容时 00 变成 20?别跨应用粘贴
在 Hex 视图里选中一段(比如含 00 的区域)按 Ctrl+C,粘贴到记事本或 Word 里发现 00 全变 20(空格)——这不是 bug,是 Windows 剪贴板对二进制数据的降级处理。HexEditor 插件同时写入了文本格式和自定义格式,但外部程序只读文本流。
- 只在同一个 Notepad++ 实例的 Hex 视图内复制/粘贴,
00才能保持原样 - 需要导出原始字节用于分析(比如发给同事或喂给其他工具),用
Plugins → HexEditor → Export to file另存为新文件,比手动复制可靠得多 - 若必须复制十六进制字符串(如
E4B8AD连续形式),可用插件菜单里的Copy as Hex String(部分版本支持),或手动摘录中间列内容


















