如何在Unix中将字符串01100110 01101111 01101111
转换为foo
?如果有的话,GNU核心实用程序中的哪一个?我知道如何用Python来实现它,但是它必须可以用另一个工具来实现,不是吗?hexdump
和od
的工具似乎做不到这一点。
这个工具可以做我想做的事情:http://www.unit-conversion.info/texttools/convert-text-to-binary/
发布于 2017-06-14 20:09:15
使用printf
内置和bash
for x in 01100110 01101111 01101111; do printf "%b" $(printf '\\x%x' $((2#$x))); done; echo
foo
结果与预期相符。细目:
$((2#$x))
将“x”中的内容从二进制转换为十进制。\\x%x
将十进制转换为十六进制,在开头添加一个\x
,以便下一个printf
看到它,并将其视为一个十六进制。%b
打印-打印六边形作为字符。https://stackoverflow.com/questions/44553325
复制相似问题