多行二进制文件逐行读取并在python中转换为char



我的文本文件数据如下:

01100110011010010111001001110011011101000010000001101100011010010110111001100101011100110110010101100011011011110110111001100100001000000110110001101001011011100110010101110100011010000110100101110010011001000010000001101100011010010110111001100101

所以,我需要用python把这个数据文件转换成英文。但是我的程序得到一些错误,如:

ValueError: invalid literal for int() with base 2: "

请帮我解决这个问题

def bit2strings():
with open('test_doc.txt', 'r' ) as f:
x = (f.read())
for line in x.split(' '):
data = line
if data =='':
print(data)
break
else:
data = f.read(8)
plaintext = chr(int(data, 2))
print(plaintext, end='')
data = f.read(8)

我知道这不是更高级的编码部分。但是最后如何编写合适的程序来解决我的问题。我是一个初学者。那么,请给我一些评论,以进一步推进这个编码部分。这是我的编码部分:

def bit2strings():
with open('test_doc.txt', 'r') as f:
for i in f:
#print(i)
for j in range(len(i)//8):
s = ((i[j * 8:j * 8 + 8]))
#print(s)            
get_string = ''.join(chr(int(s, 2)))
print(get_string, end='')
print(end='n')

if __name__=='__main__':
bit2strings()

最新更新