【发布时间】:2019-01-26 03:39:32
【问题描述】:
我有一个非常大 (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,但它总是输出相同的字符串。
【问题讨论】: