首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中打印Unicode字符?

如何在Python中打印Unicode字符?
EN

Stack Overflow用户
提问于 2012-05-13 13:00:57
回答 6查看 338.6K关注 0票数 149

我想做一本词典,把英语单词指向俄语和法语的翻译。

如何在Python中打印unicode字符?另外,如何在变量中存储unicode字符?

EN

回答 6

Stack Overflow用户

发布于 2012-05-13 13:10:05

要在Python源代码中包含Unicode字符,可以在字符串中以\u0123形式使用Unicode escape characters。在Python2.x中,您还需要为字符串文字加上'u‘前缀。

下面是一个在Python 2.x交互控制台中运行的示例:

代码语言:javascript
复制
>>> print u'\u0420\u043e\u0441\u0441\u0438\u044f'
Россия

在Python2中,以'u‘为前缀的字符串将它们声明为Unicode类型的变量,如Python Unicode documentation中所述。

在Python 3中,'u‘前缀现在是可选的:

代码语言:javascript
复制
>>> print('\u0420\u043e\u0441\u0441\u0438\u044f')
Россия

如果运行上述命令不能为您正确显示文本,则可能是您的终端无法显示Unicode字符。

这些示例使用Unicode转义(\u...),它允许您打印Unicode字符,同时保持源代码为纯ASCII码。当在不同的系统上使用相同的源代码时,这会很有帮助。如果你确信你的所有系统都能正确处理Unicode文件,你也可以直接在你的Python源代码中使用Unicode字符(例如python2中的print u'Россия' )。

有关从文件中读取Unicode数据的信息,请参阅以下答案:

Character reading from file in Python

票数 140
EN

Stack Overflow用户

发布于 2012-05-13 13:07:50

在Python2中,使用u声明unicode字符串,就像在u"猫"中一样,并使用decode()encode()分别转换为unicode和从unicode转换。

这在Python3中要简单得多,可以在here上找到一个非常好的概述。那次演讲为我澄清了很多事情。

票数 20
EN

Stack Overflow用户

发布于 2019-05-12 00:22:47

考虑到这是谷歌搜索该主题时的第一个堆栈溢出结果,值得一提的是,在Python3中,为unicode字符串添加u前缀是可选的。(Python2示例复制自顶部答案)

Python 3(两者都适用):

代码语言:javascript
复制
print('\u0420\u043e\u0441\u0441\u0438\u044f')
print(u'\u0420\u043e\u0441\u0441\u0438\u044f')

Python 2:

代码语言:javascript
复制
print u'\u0420\u043e\u0441\u0441\u0438\u044f'
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10569438

复制
相关文章

相似问题

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