使用记事本++将十六进制转换为Base64

Converting Hex to Base64 with notepad++

我正在尝试将十六进制值转换为 Base64。

通过notepad++转换,例如Hex的值FB在Base64中为RkI=

如果我使用 http://tomeko.net/online_tools/hex_to_base64.php?lang=en

我得到一个不同的值等于:+w==

实际上,这个值是正确的,因为我用纸和笔计算这个转换时得到了相同的值:D

谁能解释一下notepad++是如何进行这种转换的!?

字符 FB 可以编码为 16 位值 46004200 并且在 Base 64 中编码得到 RkI=.

使用 Notepad++ 菜单 => TextFx => TextFx 工具 => Base 64 解码 :

  • 转换+w==得到单字节xFB。它显示为黑色背景上的三个白色字符。 window 底部的状态栏显示缓冲区的长度为 1(即一个)。
  • 转换 RkI= 得到两个字符 FB。在白色背景上以黑色显示,即作为普通文本。显示缓冲区的长度为 2。

结论,您的初始转换是两个字符 FB 而不是值为 hex-FB 的字节。

诀窍是通过在记事本++中直接转换 HEX,它被视为 ASCII 值而不是预期的 HEX 值。

所以我们需要先转换 HEX --> ASCII 然后 ASCII --> BASE64

1/ Select 字符串

2/ 使用 Notepad++ 菜单:Plugins -> Converter -> HEX -> ASCII

3/ 插件 -> MIME 工具 -> Base64 编码

我们得到了需要的值