Displaying unicode characters using python

2020-04-14 09:41发布

问题:

I have a string that prints out like this

print a
\u4f53\u91cd\u8a08

I am using eclipse and the console can print unicode characters, I have tested it like this.

print u'\u4f53\u91cd\u8a08'
体重計

It prints out correctly, how can I make the string in the variable a to be printed like above.

Thanks very much for advance.

回答1:

Decode using the unicode-escape codec.

>>> print '\\u4f53\\u91cd\\u8a08'.decode('unicode-escape')
体重計

Or if what you have is actually a JSON fragment, decode as JSON.

>>> print json.loads('"\\u4f53\\u91cd\\u8a08"')
体重計


回答2:

Perhaps...

print unicode(a)

would do the trick?

If the string itself actually has escaped escapes in it (i.e. if you were to write it, it'd be something more like u'\\u4f53\\u91cd\\u8a08'), then use:

print a.decode('unicode-escape')