我在shell脚本中寻找一些简单的方法,将十六进制数转换为0和1个字符的序列.
例:
5F - >"01011111"
是否有任何命令或简单的方法来完成它或我应该为它写一些开关?
Ale*_*sky 11
echo "ibase=16; obase=2; 5F" | bc
Run Code Online (Sandbox Code Playgroud)
$ printf '\x5F' | xxd -b | cut -d' ' -f2
01011111
Run Code Online (Sandbox Code Playgroud)
要么
$ dc -e '16i2o5Fp'
1011111
Run Code Online (Sandbox Code Playgroud)
i命令将弹出堆栈顶部并将其用作输入库.Hex数字必须为大写,以避免与dc命令发生冲突,并且不限于A-F输入基数大于16.o命令对输出库执行相同的操作.p命令将在其后面以换行符打印堆栈的顶部.我在Linux中使用'bc'命令.(比转换更复杂的计算器!)
echo'ibs = 16; obase = 2; 5f'| 公元前
ibase参数是输入基数(在本例中为hexa),并且取消输出基数(二进制).
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
13109 次 |
| 最近记录: |