我正在尝试使用bash将一系列字节从十六进制转换为二进制.但我一直得到(看似随机)"(standard_in)1:语法错误"回复以下代码:
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
Run Code Online (Sandbox Code Playgroud)
我做了一个与dec to bin类似的东西,它完美地工作:
for i in {0..120}
do
KEYBIN=$(echo "obase=2; ibase=10; $i" | bc)
echo $KEYBIN
done
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么它适用于十进制,但不是十六进制?在我看来,语法几乎相同(除非我遗漏了一些非常难的东西.)
我在shell脚本中寻找一些简单的方法,将十六进制数转换为0和1个字符的序列.
例:
5F - >"01011111"
是否有任何命令或简单的方法来完成它或我应该为它写一些开关?