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                                  ...
$ 

관련 정보