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

时间:2014-12-12 02:21:57

标签: python unicode

我想打印一个unicode的字符代码,而不是它在Python中表示的实际字形。

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

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

我想将字符代码输出为原始字符串:u'\u0103'

我尝试将其打印到文件中,但如果不在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()

对其进行编码会导致字形ă被写入文件。

如何编写字符代码?

1 个答案:

答案 0 :(得分:10)

要打印原始unicode数据,只需要指定正确的编码:

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