2013-05-21 62 views

回答

18

您可以使用轉義序列打印任何Unicode字符。確保製作一個Unicode字符串。

print u'\u2713' 
+0

我喜歡這種方式。你怎麼知道如何打印每個unicode字符? 是否有一些詳盡的字符列表? –

+0

我只使用可靠的Google :)。下面的網站看起來很有希望,如果你不知道你在搜索什麼:http://unicode-table.com/ – Jerome

+0

還有[維基百科](http://en.wikipedia.org/wiki/List_of_Unicode_characters)上的列表, ,我時常使用它。 – lenz

3

像這樣:

print u'\u2713'.encode('utf8') 

的編碼應與你的終端(或任何你要發送輸出)的一個。

+0

這是我正在尋找一段時間 –

8

解決方案defining python source file encoding

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 

print '✓' 

http://ideone.com/dTW5D8

+1

這是否也影響輸出編碼或仍然需要指定? – LJNielsenDk

+0

nope,輸出編碼必須分開處理(至少在Python 2.x中)。 '#coding'-行只告訴解釋器如何解釋源代碼。 – lenz

+0

上述解決方案有點隱含:由於@chico不使用unicode字符串,因此該字符串已被隱式編碼 - 與源文件的編碼一起使用。如果您更改了文件的編碼,它也會更改輸出編碼。你最好寫'printu'✓'.encode('utf8')'。 – lenz

6

因爲Python 2.1,你可以使用\N{name}轉義序列由他們的名字來插入Unicode字符。使用此功能,你可以得到檢查標記符號,像這樣:

$ python -c "print(u'\N{check mark}')" 
✓ 

注:此功能,您必須使用unicode字符串文字。由於這個原因使用u前綴。在Python 3中,前綴不是必需的,因爲默認情況下字符串文字是unicode。

+0

我每天都會學到新的東西! :-) – kkurian