notepad++中搜索十六进制字节需用正则模式下的\x转义序列(如\x1a\xff),十六进制视图(alt+h)仅用于查看和验证字节,不支持直接搜索。

搜索前必须启用十六进制模式
Notepad++ 默认不支持直接输入十六进制字符串进行搜索,查找对话框里的普通搜索会把 0x1A 当作 ASCII 字符串处理,而不是字节 0x1A。必须先切换到十六进制编辑模式——这不是插件功能,而是内置的十六进制查看器,但**它本身不支持“搜索”操作**。所以真正可行的路径是:用十六进制模式定位上下文 + 配合正则或字面量搜索,或者改用“转义序列搜索”。
用 \x 转义序列在普通查找中匹配字节
这是最常用且有效的办法:在 查找 对话框中勾选 匹配大小写 和 匹配整个单词 通常无关紧要,关键是选择 正则表达式 模式(不是“扩展”),然后输入类似 \x1A\xFF\x00 这样的形式。
-
\x后必须跟两位十六进制数字(00–FF),不支持\x1或\xFF0 - 多个字节连写即可匹配连续字节序列,例如
\xDE\xAD\xBE\xEF匹配 4 字节 - 不能跨行匹配;如果目标字节分布在换行符两侧,需确保文件是 Unix 换行(
\x0A)或 Windows(\x0D\x0A)并显式写出 - 注意编码影响:若文件是 UTF-8,中文字符会被编码为多字节,直接搜
\xE4\xB8\xAD才能匹配“中”字
十六进制模式下无法直接搜索,但可辅助验证
按 Alt+H 可切换到十六进制视图,此时看到的是原始字节的十六进制表示(左侧地址、中间十六进制块、右侧 ASCII 映射)。这个视图只读,不能用 Ctrl+F 在其中搜索——所有查找操作仍作用于原始文本层。但它很有用:
- 快速确认某段文本实际对应的字节序列(比如看到
68 65 6C 6C 6F就知道是 “hello”) - 发现隐藏控制字符(如
00、1A、0B)的位置,再回到文本模式用\x00精准定位 - 检查是否含 BOM:
EF\xBB\xBF(UTF-8)或FF\xFE(UTF-16 LE)
遇到 \x 不生效?检查这三项设置
常见失败不是语法错,而是环境配置没对:
- 未勾选
正则表达式搜索模式(勾选“扩展”模式无效,\x只在正则下解析) - 文件编码被 Notepad++ 自动识别为 UTF-16 或其它宽字节编码,导致字节布局偏移——临时另存为
ANSI或UTF-8 无 BOM再试 - 粘贴进查找框的
\x1A实际带了不可见空格或全角字符,建议手动键盘输入,不要复制
十六进制搜索的本质是字节级匹配,和文本语义无关。一旦涉及压缩数据、二进制协议片段或固件镜像,就绕不开手动核对字节位置——Alt+H 看一眼,比猜编码靠谱得多。











