使用 Notepad++ 作为 HEX 编辑器

Posted

技术标签:

【中文标题】使用 Notepad++ 作为 HEX 编辑器【英文标题】:Use Notepad++ as HEX-Editor 【发布时间】:2020-06-23 17:48:43 【问题描述】:

我在 Windows 10 上使用 Notepad++,版本 7.8.5 64 位。我想将它用作十六进制编辑器。

我打开了一个 bin 文件,但记事本将它显示为带有奇怪字符的文本。为了可视化十六进制数字,我选择了一部分文本,然后点击语音

Plugins/Converter/ASCII-->HEX 

它会显示所选部分的十六进制数字。现在我想以十六进制查看整个文件,但它不起作用。似乎选择某些部分有效,其他部分无效。

我需要在 HEX 中转换或可视化整个文件。

我也试过了:

Plugins/Plugins Admin…

但 HEX 编辑器不存在。

感谢 4 位帮助

【问题讨论】:

正如我在回答中提到的,转换器主要用于文本文件或文本部分(ASCII -> HEX)。 【参考方案1】:

编辑:

请注意 - 同时安装已针对 64 位进行了调整。

请更新到例如记事本++ 8.1.9(64 位) 转到菜单插件>插件管理 在搜索字段中输入十六进制。 选择十六进制编辑器并按“安装”。

在我看来,您尝试安装十六进制编辑器并最终使用了错误的工具(插件)Converter(ASCII -> HEX),如您上面的问题所述。

HexEditor 的安装过程有些混乱,因为它目前仅在 32 位版本的 Plugins Admin 中可用。

一个简单的解决方案是在 U 盘上安装 Notepad++ x32 版本(例如使用 PortableApps)。

但是,thanks to Peter Jones,这里是x64 version. 的下载链接和实际执行手动安装的说明:

解压缩下载的适当压缩文件并打开包含文件夹(或在 Windows 资源管理器中打开压缩文件) 在 Notepad++ 中,使用插件 > 打开插件文件夹。 在新打开的插件文件夹中,添加一个子文件夹 HexEditor。 将压缩文件中的HexEditor.dll 复制到HexEditor 子文件夹中……所以它应该位于...\notepad++\plugins\HexEditor\HexEditor.dll 关闭Notepad++所有打开的窗口。 再次重启 Notepad++。 HexEditor 应该在 Plugins 菜单中可用,并且 HexEditor.dll 应该列在 ? > 调试信息插件列表。

Notepad++ 版本 7.8.5 64 位在 Windows 10 上成功测试。有关详细信息,请参阅上面的链接。请注意一个 UAC 问题,即以管理员身份运行 Notepad++。

【讨论】:

@UK 谢谢。直到“复制Hexeditor.dll ...”我才明白。但我想知道您在说哪些“Notepad++ 副本”。你的意思是关闭记事本++并重新启动它,在赖特的地方复制HexEditor.dll之后?其余的在我看来很清楚。 @Uwe_98 - 是的,意思是关闭 Notepad++ 的所有打开窗口。 现在我只需要继续“插件> HEXEditor 并标记“以十六进制查看”。要返回文本模式,我只需对其进行标记。 @Uwe_98 功能栏中应该有一个图标。它在 Hex 和 Ascii 模式之间切换【参考方案2】:

help-info.de 的回答有效。

但是,如果您处于需要复制粘贴插件提供的十六进制输出结果的上下文中,那就不是很好了。


例如,假设NPP_HexEdit 窗口显示以下字节:

00 06 12 0b

如果你选择从左到右,复制然后粘贴(在一个新的文本文件中),你会得到:

20 06 12 0b

由于某种原因,'0x00' 被转换为 UTF-8 '20',并且由于 '0x20' 也被转换为 UTF-8 '20',所以这里不能真正使用复制 + 粘贴功能。

如果你选择从右到左,复制然后粘贴(在一个新的文本文件中),你会得到:

12 01 0e 0d

我什至不会尝试转换这个,显然无法使用....


解决方案(Windows)

Plugins > Plugins Admin选择并安装NppExec,重启npp。

选择Plugins > NppExec > Npp Execute... 并输入以下内容:

 SET local OUTFILE = "$(FULL_CURRENT_PATH).hex.txt"
 cmd /c <XXD_DIRECTORY>\xxd.exe -p $(FULL_CURRENT_PATH) >$(OUTFILE)
 NPP_OPEN $(OUTFILE)

从同一窗口保存您的脚本,例如bin_to_hex

Plugins &gt; NppExec &gt; Advanced OptionsAssociated script: 中选择您的脚本并使用Add/Modify 添加它,然后按确定并重新启动npp。

在 npp 中,打开你的 bin 文件。

选择Plugins &gt; NppExec &gt; bin_to_hex 大功告成!应该在新标签页中将您的 bin 设为 HEX。

xxd.exe 可以从多个位置恢复,例如:

C:\Program Files (x86)\Vim\vim74 (我自己用过这个,来自Cmder) C:\Cmder\vendor\git-for-windows\usr\bin

已编辑 除了使用 xxd.exe,您可以使用以下 powershell 方法(格式更好,但执行时间更长)。将脚本替换为:

    SET local OUTFILE = "$(FULL_CURRENT_PATH).hex.txt"
    cmd /c powershell -command "format-hex $(FULL_CURRENT_PATH) > $(OUTFILE);exit"
    NPP_OPEN $(OUTFILE)

【讨论】:

以上是关于使用 Notepad++ 作为 HEX 编辑器的主要内容,如果未能解决你的问题,请参考以下文章

使用notepad++作为keil的外部编辑器

使用Notepad++作为Latex编辑器

Notepad--国产开源编辑器,横空出世!

Notepad--国产开源编辑器,横空出世!

Notepad--国产开源编辑器,横空出世!

在 Notepad++ 中注释代码