簡體   English   中英

如何在Python中打印Unicode字符代碼?

[英]How does one print a Unicode character code in Python?

我想打印一個unicode的字符代碼,而不是它在Python中表示的實際字形。

例如,如果u是unicode字符列表:

>>> u[0]
u'\u0103'
>>> print u[0]
ă

我想將字符代碼輸出為原始字符串: u'\ă'

我試圖將它打印到一個文件,但如果沒有在UTF-8編碼它,這是行不通的。

>>> w = open('~/foo.txt', 'w')
>>> print>>w, u[0].decode('utf-8')

Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    print>>w, u[0].decode('utf-8')
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0103' in position 0: ordinal not in range(128)
>>> print>>w, u[0].encode('utf-8')
>>> w.close()

編碼它導致字形ă被寫入文件。

我怎么寫字符代碼?

要打印原始unicode數據,只需指定正確的編碼:

>>> s = u'\u0103'
>>> print s.encode('raw_unicode_escape')
\u0103

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM