首页 > 解决方案 > 没有空格的十六进制转储字符串

问题描述

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

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

命令

echo "hello world" | xxd -p

输出:68656c6c6f20776f726c640a

预期:68656c6c6f20776f726c64(没有 0a)

标签: macoscommand-line-interfacexxd

解决方案


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

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

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

echo -n "hello world" | xxd -p

或者,您可以使用printf

printf "hello world" | xxd -p

推荐阅读