我在搜索如何进行反向十六进制转储,发现提到了xxd。但是,它似乎不能简单地使用:
xxd -r hexdumpfile > binaryfile
然后,我比较了xxd infile
和的输出之间的差异hexdump infile
,发现了三个差异:
- xxd输出的地址后面有一个冒号
- xxd输出在数据中的位置相反(例如,十六进制转储输出在xxd输出中
5a42
变为425a
) - 每行后面有一些额外的字符
我在服务器上只有某些文件的十六进制版本。如何使用xxd正确取回二进制数据?
一直在寻找xxd中的一些选项以采用hexdump格式,但是目前,它已经通过一些简单的sed操作做到了这一点
—
tanon 2011年
我还没有真正精确地测试您的要求,但是尝试xxd -p和-b,-p是普通的-b是二进制的,以及您的-r。至于字节顺序,这与大字节序和小字节序有关,也许xxd不能将其反转..但这与字节在文件中的存储方式有关。例如,如果记事本中有文本文件,您可以将其另存为Unicode 16位大字节序,小字节序或UTF-8或其他格式,您会发现它与xxd有所不同。od命令可能会显示不同的内容。
—
barlop
供以后参考,
—
jpaugh
hexdump
允许您选择在其输出中使用的字节序,这可以使此过程更简单。(为什么?现在发现您的问题对不相关的问题有所帮助。)