【发布时间】:2018-02-25 02:32:01
【问题描述】:
我有一个字节的二进制字符串表示,比如
01010101
如何将其转换为真正的二进制值并将其写入二进制文件?
【问题讨论】:
我有一个字节的二进制字符串表示,比如
01010101
如何将其转换为真正的二进制值并将其写入二进制文件?
【问题讨论】:
使用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)
【讨论】:
bytearray([n])。 See doc.