您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中将UTF-8转换为字符串文字

在Python中将UTF-8转换为字符串文字

u''语法 仅适用于字符串文字 ,例如,在源代码中定义值。使用语法unicode可以创建对象,但这不是创建此类对象的唯一方法

您不能通过unicode在字节字符串u前面添加来产生值。但是,如果您str.decode()使用正确的编码进行调用,则会获得一个unicode值。反之亦然,您可以使用将对象编码 unicode为字节字符串unicode.encode()

请注意,在显示unicode对象时,Python再次使用Unicode字符串文字语法(so )来 表示u'...',以简化调试。您可以将表示形式粘贴回Python解释器中,并获得具有相同值的对象。

您的a值是使用字节字符串文字定义的,因此您只需要解码:

a = 'Entre\xc3\xa9'
b = a.decode('utf8')

您的第一个示例创建了Mojibake,这是一个Unicode字符串,其中包含实际上代表UTF-8字节的Latin-1代码点。这就是为什么您必须先编码为Latin-1(以撤消Mojibake),然后再从UTF-8进行解码的原因。

您可能想在UnicodeHOWTO中阅读有关Python和Unicode的内容。其他感兴趣的文章是:

每个软件开发人员绝对,肯定必须绝对了解Unicode和字符集(无借口!)作者:Joel Spolsky

Ned Batchelder的实用Unicode

python 2022/1/1 18:32:46 有211人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶