首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用python将Cyrillic WINDOWS-1251字符串解码为unicode

如何使用python将Cyrillic WINDOWS-1251字符串解码为unicode
EN

Stack Overflow用户
提问于 2019-01-26 03:39:32
回答 1查看 1.4K关注 0票数 0

我有一个非常大(2.5GB)的文本文件,其中包含各种编码中的西里尔字符,包括Windows1251:

=C2=AB=D0=9F=D0=B5=D1=80=D1=88=D0=B8=D0=BD=D0=B3=D0=B5=C2=BB =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 =D0=B0

我已经尝试过使用各种编码组合的.encode()和.decode(),但是我无法让文本变得可读性。我也尝试过以二进制模式阅读。

代码语言:javascript
运行
复制
with open('myfile.mbox', 'r') as f:
    unreadable_str = f.readline()

unreadable_str.encode('WINDOWS-1251').decode('utf-8') 

我认为它会使用Windows编码将字符串编码成字节,然后将其作为可读的Unicode返回,但是它总是输出相同的字符串。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-26 03:56:03

该数据是根据RFC 1522编码的。夸普里模块可用于将数据解码为字节,这些字节看起来类似于UTF-8编码的数据:

代码语言:javascript
运行
复制
>>> s='''=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'''
>>> quopri.decodestring(s).decode('utf8')
'Рвись в атаку н= а «Першинге»'
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54375484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档