使用 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 > NppExec > Advanced Options
从Associated script:
中选择您的脚本并使用Add/Modify
添加它,然后按确定并重新启动npp。
在 npp 中,打开你的 bin 文件。
选择Plugins > NppExec > 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 编辑器的主要内容,如果未能解决你的问题,请参考以下文章