我正在Windows 10上使用版本7.8.5 64bit的Notepad ++,我想将其用作十六进制编辑器。
我打开了一个二进制文件,但记事本以带有奇怪字符的文本的形式显示给我。为了形象化十六进制数,我选择了一部分文本,然后单击声音
Plugins/Converter/ASCII-->HEX
,它向我显示所选部分的十六进制数字。现在,我想以十六进制形式查看整个文件,但是它不起作用。似乎选择了某些可行的部分,而其他无效了。
我需要以十六进制格式转换或可视化整个文件。
我也尝试过:
Plugins/Plugins Admin…
但是十六进制编辑器不存在。
感谢4个帮助
答案 0 :(得分:4)
在我看来,您尝试安装十六进制编辑器并最终遇到了上述问题中提到的错误工具(插件)Converter
(ASCII->十六进制)。
HexEditor的安装过程有些混乱,因为它目前仅在Plugins Admin
中用于32位版本。
一种简单的解决方案是在USB记忆棒上安装Notepad ++ x32版本(例如,使用PortableApps)。
但是,还有thanks to Peter Jones,这里是x64 version.的下载链接以及实际执行手动安装的说明:
HexEditor.dll
复制到HexEditor子文件夹中…因此它应该位于...\notepad++\plugins\HexEditor\HexEditor.dll
已通过Windows 10上的Notepad ++版本7.8.5 64bit成功测试。有关更多信息,请参见上面的链接。请注意一个UAC问题,即以管理员身份运行Notepad ++。
答案 1 :(得分: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
我什至不会尝试转换这个,显然无法使用......
从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 可以从多个位置恢复,例如:
已编辑 您可以使用以下 powershell 方法(格式更好但执行时间更长)而不是使用 xxd.exe。将脚本替换为:
SET local OUTFILE = "$(FULL_CURRENT_PATH).hex.txt"
cmd /c powershell -command "format-hex $(FULL_CURRENT_PATH) > $(OUTFILE);exit"
NPP_OPEN $(OUTFILE)