因此,我想将1和0的字符串写入实际的二进制文件。但是当我转换回实际字符串时遇到一些问题。似乎[204,204,156,231,57,173,107,90,214,11]不错,但是当我转换为字符串时,它会有一点问题。
这是我当前的输出
//write
1100110011001100100111001110011100111001101011010110101101011010110101101011
[204,204,156,231,57,173,107,90,214,11]
//read
[204,11]
11001100110011001001110011100111001110011010110101101011010110101101011000001011
def writefile():
longstring = "1100110011001100100111001110011100111001101011010110101101011010110101101011"
with open('file','wb') as f:
bit_strings = [longstring[i:i + 8] for i in range(0,len(longstring),8)]
byte_list = [int(b,2) for b in bit_strings]
print(byte_list)
print(bytearray(byte_list))
f.write(bytearray(byte_list))
f.close()
def readfile():
byte_list = []
longbin = ""
with open('file','rb') as f:
value = f.read(1)
while value != b'':
byte_list.append(ord(value))
value = f.read(1)
print(byte_list)
for a in byte_list:
longbin = longbin + '{0:08b}'.format(a)
print(longbin)