如何在 Linux 上将十六进制字符串转换为字节字符串

How do I convert hex string into byte string on Linux

我想在 Linux 上使用 bash 脚本或命令将十六进制字符串转换为字节字符串。例如,我想将这个十六进制字符串即 00124a5b 转换为字节字符串即 \x00\x12\x4a\x5b

谢谢。

Plasma33

您可以使用 sed:

的搜索替换功能
echo "00124a5b" | sed 's/../\x&/g'
\x00\x12\x4a\x5b

两个点在流中搜索任意两个字符。 \x& 将匹配项替换为 \x 后跟匹配项。在末尾添加 g 告诉 sed 继续 search/replace。

我会查看这个 sed 教程:http://www.grymoire.com/Unix/Sed.html 该站点上还有一些其他有用命令的其他教程。