没有空格的十六进制转储字符串

Hex Dump String without whitespace

我想使用 xxd 将字符串转换为十六进制。

问题是它在十六进制的末尾添加了一个“0a”。

命令

echo "hello world" | xxd -p

输出:68656c6c6f20776f726c640a

预期:68656c6c6f20776f726c64(没有 0a)

0x0a 是 ASCII 换行符的十六进制值。

echo 在最后产生一个新行,所以你得到了尾随 0a.

要避免这种情况,请使用 -n 参数:

echo -n "hello world" | xxd -p

或者,您可以使用 printf:

printf "hello world" | xxd -p