我有一个很大的(2.5 GB)文本文件,其中包含各种编码的西里尔字母,包括Windows-1251:
= D0 = A0 = D0 = B2 = D0 = B8 = D1 = 81 = D1 = 8C = D0 = B2 = D0 = B0 = D1 = 82 = D0 = B0 = D0 = BA = D1 = 83 = D0 = BD = = D0 = B0 = C2 = AB = D0 = 9F = D0 = B5 = D1 = 80 = D1 = 88 = D0 = B8 = D0 = BD = D0 = B3 = D0 = B5 = C2 = BB
我已经尝试使用.encode()和.decode()进行各种编码组合,但是我无法使文本可读。我也尝试过以二进制模式阅读。
with open('myfile.mbox', 'r') as f:
unreadable_str = f.readline()
unreadable_str.encode('WINDOWS-1251').decode('utf-8')
我认为它将使用Windows编码将字符串编码为字节,然后以可读的Unicode形式返回,但是,它始终输出相同的字符串。
答案 0 :(得分:4)