使用Notepad++作为十六进制编辑器

50

我正在使用Windows 10上的Notepad++版本7.8.5 64位,并希望将其用作十六进制编辑器。

当我打开一个二进制文件时,Notepad会将其显示为一些带有奇怪字符的文本。为了查看十六进制数字,我选择了部分文本,然后单击声音按钮

Plugins/Converter/ASCII-->HEX 

它展示了我选择部分的十六进制数。现在我想看到整个文件的十六进制,但是不起作用。似乎对一些部分进行选择可以工作,而对其他部分则不能。

我需要将整个文件转换或可视化为HEX。

我也尝试过:

Plugins/Plugins Admin…

但是 HEX 编辑器不在那里。

谢谢帮助。


1
正如我在答案中提到的那样,转换器主要用于文本文件或文本部分(ASCII -> HEX)。 - help-info.de
2个回答

73

编辑:

请注意 - 安装程序已经适配64位系统。

  • 请从下载区更新到例如Notepad++ 8.4.7(64位)
  • 进入菜单插件 > 插件管理
  • 在搜索框中输入Hex。
  • 选择Hex-Editor并点击安装。

我看你尝试安装一个十六进制编辑器,结果安装了错误的工具(插件)转换器(ASCII -> HEX),就像你在上面的问题中提到的那样。

HexEditor的安装过程有点混乱,因为它目前仅在32位版本的插件管理器中提供。

一个简单的解决方案是在USB存储设备上安装Notepad++ x32版本(例如使用PortableApps)。

但是,由于Peter Jones,这里有一个下载链接可以获取x64版本,并且有说明来进行手动安装:

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

在Windows 10上成功测试了Notepad ++ Version 7.8.5 64位。有关更多信息,请参见上面的链接。请注意UAC问题,即以管理员身份运行Notepad ++。


@UK 谢谢。直到“复制Hexeditor.dll…” 我都明白了。但我想知道您所说的“Notepad++ 副本”是哪些。您是指关闭Notepad++并在正确的位置粘贴HexEditor.dll后重新启动吗?其余部分对我来说似乎很清楚。 - Uwe_98
1
@Uwe_98 - 是的,关闭所有打开的Notepad++窗口是指这个。 - help-info.de
现在我只需要进入“插件>HEXEditor”并标记“以十六进制查看”。要返回文本模式,只需取消标记即可。 - Uwe_98
1
@Uwe_98 功能栏中应该有一个图标。它可以在十六进制和 ASCII 模式之间切换。 - KolonUK
仅作为跟进,写作时的Notepad++当前版本(v8.3.3,64位)对我来说非常完美,只需前往插件管理器窗口并通过UI正常安装HEX-Editor插件即可。 - MarkHone

3

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)

  • From Plugins > Plugins Admin select and install NppExec, restart npp.

  • Select Plugins > NppExec > Npp Execute... and enter the following:

     SET local OUTFILE = "$(FULL_CURRENT_PATH).hex.txt"
     cmd /c <XXD_DIRECTORY>\xxd.exe -p $(FULL_CURRENT_PATH) >$(OUTFILE)
     NPP_OPEN $(OUTFILE)
    
  • From the same window save your script, for example bin_to_hex.

  • From Plugins > NppExec > Advanced Options select your script from Associated script: and add it with Add/Modify then press Ok and restart npp.

  • In npp, open your bin file.

  • Select Plugins > NppExec > bin_to_hex and you are done!, should get your bin as HEX in a new tab.

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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接