如何将一些用 ASCII 0 和 1 表示的二进制转换为二进制文件?

如何将一些用 ASCII 0 和 1 表示的二进制转换为二进制文件?

我有一个以 0 和 1 的 ASCII 文件表示的 PDF,其生成方式如下:

filepath="Manna.pdf"
data="$((echo obase=2; hexdump -ve'/1 "%u\n"' "${filepath}") | bc | xargs printf %08i)"
inputText="$(echo "${inputText}" | sed 's/\(.*\)/\L\1/')"
echo "${data}" > Manna.txt

如何将其转换回 PDF?

答案1

我不知道你为什么要这么做,但也许你可以使用 Perloct将每个 8 位二进制子字符串转换为其数值并将其打印为char

perl -pe 's/([01]{8})/sprintf "%c", oct("0b$1")/ge'

前任。

$ printf 'foo bar\nbaz\n' | 
    { echo obase=2; hexdump -ve'/1 "%u\n"' ; } | bc | xargs printf %08i | 
    perl -pe 's/([01]{8})/sprintf "%c", oct("0b$1")/ge'
foo bar
baz

相关内容