将包含二进制表示形式的数据(仅 0 和 1)的文本文件转换为 python 中的 .bin 文件

convert a text file contain data in binary representation (only 0&1) to .bin file in python

我有一个文本文件在一行中仅包含 0 和 1,每个 32 位这里是一个示例:

00001111110000010000010100010111
00000010000001010000010100010011
00000000100000000000010110010011
00000000000000000000001100010111

我想使用 python 将此文件转换为 .bin 文件,我搜索过我看到有人将数据转换为 bin 文件,但此 ffile 已经是零和一了。

谢谢大家

您可以使用 int:

将字符串解析为整数,将字符串视为以二进制形式写入的数字
integers = [
    int(line, 2)
    for line in your_file
]

在您的情况下,integers 将是 [264307991, 33883411, 8390035, 791]。然后用 int.to_bytes:

检索它们的二进制表示
>>> [i.to_bytes(4, 'little') for i in integers]
[b'\x17\x05\xc1\x0f', b'\x13\x05\x05\x02', b'\x93\x05\x80\x00', b'\x17\x03\x00\x00']

然后将这些字节写入另一个文件:

with open("file.bin", "wb") as out:
    for i in integers:
        out.write(i.to_bytes(4, 'little'))

您可以打开文本文件进行读取,然后使用 open() 函数创建二进制文件进行写入。然后从文本文件(为 u​​tf8 编码)创建一个字节数组并将其写入二进制文件。

with open("binary.txt", "r") as textfile:
    with open("binary.bin", "w+b") as binfile:
        binfile.write(bytearray(textfile.read(), 'utf8'))