我有一个字节的二进制字符串表示,例如
01010101
如何将其转换为实际二进制值并将其写入二进制文件?
答案 0 :(得分:9)
将the int
function与base
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)