在Python中将字节的二进制字符串表示形式转换为实际二进制值

时间:2011-08-27 10:37:06

标签: python binary

我有一个字节的二进制字符串表示,例如

01010101

如何将其转换为实际二进制值并将其写入二进制文件?

1 个答案:

答案 0 :(得分:9)

the int functionbase 2一起使用,将二进制值读取为整数。

n = int('01010101', 2)

Python 2使用字符串来处理二进制数据,因此您可以使用the chr() function将整数转换为单字节字符串。

data = chr(n)

Python 3以不同方式处理二进制和文本,因此您需要使用the bytes type。这与chr()函数没有直接等价,但bytes构造函数可以获取字节值列表。我们将n放在一个元素数组中,并将其转换为bytes对象。

data = bytes([n])

获得二进制字符串后,可以以二进制模式打开文件并将数据写入其中,如下所示:

with open('out.bin', 'wb') as f:
    f.write(data)