如何在 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
该站点上还有一些其他有用命令的其他教程。
我想在 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 该站点上还有一些其他有用命令的其他教程。