在 Notepad++ 中用 ASCII nul 替换给定的字符

在 Notepad++ 中用 ASCII nul 替换给定的字符

我尝试了扩展搜索 --> 替换为\0,但似乎不起作用。相反,它会删除所有出现的该字符。这可能是一个错误吗?

注意:在扩展搜索中可以用\n\r\n等进行替换。

我正在使用 Notepad++ 6.4.1 Unicode。

答案1

尝试\d###(其中#是0-9范围内的单个数字)。

扩展模式支持转义序列了解更多信息。

编辑:看起来 \d、\u、\x 等在用字符替换时无法正常工作NUL。搜索工作正常(我使用十六进制编辑器插入了几个NULs),但替换却不行,只是删除了字符。

答案2

据我所知,Notepad++ 在插入 0 字符时总是存在问题。Notepad
++ 也不例外:大多数编辑器都无法正确处理它。
这并不奇怪。处理 0 字符是一个非常小众的应用程序。

据我所知,唯一可以像处理其他字符一样处理 0 的 Windows 编辑器是 UltraEdit。
(它还具有十六进制编辑模式,因此无论如何您都可以使用它完成工作。)

答案3

互联网上的搜索结果显示,插入空值在 Notepad++ 中并不简单,例如参见如何在记事本中插入空字符(ASCII 00)?

用以下方式替换给定的字符/字符空值是通过十六进制编辑器插件

  1. 进入十六进制模式(通过插件 → HEX 编辑器 → 以 HEX 格式查看,或Ctrl+ Alt+ Shift+ H
  2. 突出显示要替换的字符。
    • 您可以在“Dump”列或“0 | 1 | ... | f”列中突出显示它。
  3. Ctrl+H调出替换菜单。
    • 将“数据类型”更改为“十六进制”。
    • 您突出显示的字符将显示在“查找内容”下(作为十六进制字符串)
    • 在“替换为”字段中输入“00”(即空字节)
  4. 按“替换”或“全部替换”。

免责声明:我从某处听说 Hex Editor 插件有缺陷,但我过去只是偶尔使用过它(它运行正常,但你的情况可能会有所不同)所以我真的不知道它的缺陷程度。

您可以通过 Notepad++ 的插件管理器(插件 → 插件管理器 → 显示插件管理器)安装它,但您可能需要在插件管理器的“设置”下选中“显示不稳定插件”才能显示该插件

答案4

报告错误这里- 请在那里发表评论,希望它能得到修复 - 对我来说这看起来像是一个可能的麻烦。

参考 :

相关内容