我想做一本词典,把英语单词指向俄语和法语的翻译。
如何在Python中打印unicode字符?另外,如何在变量中存储unicode字符?
发布于 2012-05-13 13:10:05
要在Python源代码中包含Unicode字符,可以在字符串中以\u0123
形式使用Unicode escape characters。在Python2.x中,您还需要为字符串文字加上'u‘前缀。
下面是一个在Python 2.x交互控制台中运行的示例:
>>> print u'\u0420\u043e\u0441\u0441\u0438\u044f'
Россия
在Python2中,以'u‘为前缀的字符串将它们声明为Unicode类型的变量,如Python Unicode documentation中所述。
在Python 3中,'u‘前缀现在是可选的:
>>> print('\u0420\u043e\u0441\u0441\u0438\u044f')
Россия
如果运行上述命令不能为您正确显示文本,则可能是您的终端无法显示Unicode字符。
这些示例使用Unicode转义(\u...
),它允许您打印Unicode字符,同时保持源代码为纯ASCII码。当在不同的系统上使用相同的源代码时,这会很有帮助。如果你确信你的所有系统都能正确处理Unicode文件,你也可以直接在你的Python源代码中使用Unicode字符(例如python2中的print u'Россия'
)。
有关从文件中读取Unicode数据的信息,请参阅以下答案:
发布于 2012-05-13 13:07:50
在Python2中,使用u
声明unicode字符串,就像在u"猫"
中一样,并使用decode()
和encode()
分别转换为unicode和从unicode转换。
这在Python3中要简单得多,可以在here上找到一个非常好的概述。那次演讲为我澄清了很多事情。
发布于 2019-05-12 00:22:47
考虑到这是谷歌搜索该主题时的第一个堆栈溢出结果,值得一提的是,在Python3中,为unicode字符串添加u
前缀是可选的。(Python2示例复制自顶部答案)
Python 3(两者都适用):
print('\u0420\u043e\u0441\u0441\u0438\u044f')
print(u'\u0420\u043e\u0441\u0441\u0438\u044f')
Python 2:
print u'\u0420\u043e\u0441\u0441\u0438\u044f'
https://stackoverflow.com/questions/10569438
复制相似问题