2010-02-05 277 views
3

我怎樣才能打印字符串作爲Unicode代碼Python中的序列?打印字符串

輸入:"если"(俄文)。

輸出:"\u0435\u0441\u043b\u0438"

回答

9

這應該工作:

>>> s = u'если' 
>>> print repr(s) 
u'\u0435\u0441\u043b\u0438' 
3

代碼:

txt = u"если" 
print repr(txt) 

輸出:

u'\u0435\u0441\u043b\u0438' 
1
a = u"\u0435\u0441\u043b\u0438" 
print "".join("\u{0:04x}".format(ord(c)) for c in a) 
+0

有點大材小用,雖然;) – 2010-02-05 09:46:25

+0

肯定,但它給的Unicode也爲ASCII字符,這可能是desireable。但是你應該有一個''.join()圍繞該列表理解。 ;) – 2010-02-05 09:56:35

+0

@Lennart:是的,謝謝你。從repr的返回值中提取字符串有點乏味(並且會在Python 3中更改,因爲u前綴已經消失)。 – 2010-02-05 10:04:17

0

如果你需要一個特定的編碼,您可以使用:

txt = u'если' 
print txt.encode('utf8') 
print txt.encode('utf16')