如何打印Unicode字符在Python?如何打印Unicode字符在Python?(How to

2019-05-14 01:55发布

我想要一本字典,其中英语单词指向俄罗斯和法语翻译。

如何打印出Unicode字符在Python? 此外,你如何存储Unicode字符的变量?

Answer 1:

要在你的Python源代码中的Unicode字符,你可以使用的Unicode转义字符形式\u0123在你的字符串,和前缀字符串文字与“U”。

下面是在Python交互式控制台运行的例子:

>>> print u'\u0420\u043e\u0441\u0441\u0438\u044f'
Россия

声明这样的字符串是Unicode的类型变量,如所描述的Python的Unicode文档 。

如果运行上面的命令不会为你正确地显示文字,也许你的终端不能够显示Unicode字符的。

有关从文件中读取Unicode数据信息,请参见这样的回答:

汉字在Python从文件中读取



Answer 2:

打印Python中的Unicode字符:

直接从Python解释器打印一个Unicode字符:

el@apollo:~$ python
Python 2.7.3
>>> print u'\u2713'
✓

Unicode字符u'\u2713'是一个对号。 解释器打印屏幕上的复选标记。

打印从一个Python脚本一个Unicode字符:

把这个在test.py:

#!/usr/bin/python
print("here is your checkmark: " + u'\u2713');

像这样运行它:

el@apollo:~$ python test.py
here is your checkmark: ✓

如果没有显示你对号,那么问题可能是在其他地方,就像你与流重定向做终端设置什么的。

在文件中存储Unicode字符:

这个保存到文件:foo.py:

#!/usr/bin/python -tt
# -*- coding: utf-8 -*-
import codecs
import sys 
UTF8Writer = codecs.getwriter('utf8')
sys.stdout = UTF8Writer(sys.stdout)
print(u'e with obfuscation: é')

它和管道输出运行文件:

python foo.py > tmp.txt

打开tmp.txt和看里面,你看到这一点:

el@apollo:~$ cat tmp.txt 
e with obfuscation: é

因此,你已经保存的Unicodeé上有一个模糊标记的文件。



Answer 3:

如果你想print()的Unicode,并获得ASCII码编解码器的错误 ,看看这个页面中,TLDR这是做export PYTHONIOENCODING=UTF-8发射了蟒蛇之前(此变量控制何种顺序字节的控制台尝试编码您的字符串数据)。 在内部,Python3默认使用UTF-8(见Unicode的HOWTO ),所以这不是问题; 你可以把在的Unicode字符串,如在其他的答案和评论看到。 当你尝试并获得这个数据到您的控制台,这个问题会发生这。 蟒蛇认为您的控制台只能处理ASCII。 一些其他的答案说,“它写入一个文件,第一个”但请注意,他们规定这样做的(所以,Python不改变任何文字)的编码(UTF-8),然后使用方法阅读刚刚吐出来的是字节没有编码任何方面,这就是为什么工作的文件。



Answer 4:

在Python 2,你声明Unicode字符串与u ,如u"猫"和使用decode()encode()来转换为Unicode,分别。

它更容易颇有几分在Python 3.一个很好的概述,可以发现在这里 。 该演示文稿澄清了很多东西给我。



Answer 5:

我使用的便携式winpython在Windows中,它包括IPython中QT控制台,我可以做到以下几点。

>>>print ("結婚")
結婚

>>>print ("おはよう")
おはよう

>>>str = "結婚"


>>>print (str)
結婚

控制台解释应该支持以显示Unicode字符的Unicode。



Answer 6:

尚未被添加到还有一件事

在Python 2,如果你想打印有Unicode和使用可变.format()那么这样做(让正被格式化的unicode字符串与基础线u''

>>> text = "Université de Montréal"
>>> print(u"This is unicode: {}".format(text))
>>> This is unicode: Université de Montréal


Answer 7:

这修复UTF-8打印在python:

UTF8Writer = codecs.getwriter('utf8')
sys.stdout = UTF8Writer(sys.stdout)


文章来源: How to print Unicode character in Python?