我正在尝试使用Bash将一系列十六进制字节转换为二进制,但是以下代码返回“(standard_in) 1: syntax error”错误:
for j in c4 97 91 8c 85 87 c4 90 8c 8d 9a 83 81
do
BIN=$(echo "obase=2; ibase=16; $j" | bc )
echo $BIN
done
我用相似的方法将十进制转为二进制,这个方法运行得非常好:
for i in {0..120}
do
KEYBIN=$(echo "obase=2; ibase=10; $i" | bc)
echo $KEYBIN
done
有人知道为什么这段代码使用十进制可以运行,但用十六进制就不行吗?我认为语法十分相似(除非我漏掉了什么极其困难的东西)。