将存储为 ASCII 的二进制数据转换为二进制

将存储为 ASCII 的二进制数据转换为二进制

我有大量二进制数据以 ASCII 文本形式存储在如下文件中:

0b 0000 0001
0b 0000 0000
0b 1111 0001 
etc

我如何将其转换为原始二进制比特流,并将其保存到磁盘?

这可以用标准的 UNIX 工具来完成吗?

答案1

尚未完全充实这一点,但请尝试以下操作:

$ cat demo.sh
#!/bin/bash

while read bb nibble1 nibble2
do
    byte=$(printf "%s%s" ${nibble1} ${nibble2} )
    hexstr=$(printf '\\\\x%02x' $((2#${byte})) )
    eval printf "$hexstr"
done < infile > outfile

使用您的示例输入:

$ ./demo.sh

$ xxd outfile
00000000: 0100 f1                                  ...
$ 

相关内容