如何从十六进制转换为base64?


27

谁能推荐一种将十六进制转换为base64的简单方法/工具?

我正在使用Linux和OSX。


您要将十六进制或二进制转换为Base64?可编写脚本还是一次性交易?
克里斯S 2010年

Answers:


50

使用xxd-r参数(以及可能的-p参数),以从十六进制转换为纯二进制/八位字节和BASE64的二进制/八位字节形式转换为base64。

对于文件:

cat file.dat | xxd -r -p | base64

对于一串十六进制数字:

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64

4

好吧,这取决于数据的确切格式。但是您可以使用简单的shell脚本来做到这一点:

 echo "obase=10; ibase=16; `cat in.dat`" | bc | base64 > out.dat

根据需要进行修改,具体取决于您的数据。


3
这将转换十进制数字的字符串。尚不清楚这是OP想要的,还是他有十六进制数字并希望将它们表示的字节转换为base64。
暂停,直到另行通知。

1

好吧,如果您的十六进制数据是文件的十六进制视图,只需将文件附加到Outlook或Thunderbird消息中,然后将消息保存到某处即可。然后使用文本编辑器打开文件,并查看B64代码:)

它可以在Windows上运行,但是我认为这是一种通用的方法,因为将附件另存为.EML编码为B64。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.