我有一个字节的二进制字符串表示,例如
01010101
Run Code Online (Sandbox Code Playgroud)
如何将其转换为实际二进制值并将其写入二进制文件?
小智 9
使用该int功能具有base的2读取二进制值作为一个整数.
n = int('01010101', 2)
Run Code Online (Sandbox Code Playgroud)
Python 2使用字符串来处理二进制数据,因此您可以使用该chr()函数将整数转换为单字节字符串.
data = chr(n)
Run Code Online (Sandbox Code Playgroud)
Python 3以不同方式处理二进制和文本,因此您需要使用该bytes类型.这与chr()函数没有直接等价,但bytes构造函数可以获取字节值列表.我们放入n一个单元素数组并将其转换为bytes对象.
data = bytes([n])
Run Code Online (Sandbox Code Playgroud)
获得二进制字符串后,可以以二进制模式打开文件并将数据写入其中,如下所示:
with open('out.bin', 'wb') as f:
f.write(data)
Run Code Online (Sandbox Code Playgroud)