简体   繁体   中英

Convert from hex character to Unicode character in python

The hex string '\\xd3' can also be represented as: Ó .

The easiest way I've found to get the character representation of the hex string to the console is:

print unichr(ord('\xd3'))

Or in English, convert the hex string to a number, then convert that number to a unicode code point, then finally output that to the screen. This seems like an extra step. Is there an easier way?

print u'\xd3'

Is all you have to do. You just need to somehow tell Python it's a unicode literal; the leading u does that. It will even work for multiple characters.

If you aren't talking about a literal, but a variable:

codepoints = '\xd3\xd3'
print codepoints.decode("latin-1")

Edit: Specifying a specific encoding when print ing will not work if it's incompatible with your terminal encoding, so just let print do encode(sys.stdout.encoding) automatically. Thanks @ThomasK.

if data is something like this "\\xe0\\xa4\\xb9\\xe0\\xa5\\x88\\xe0\\xa4\\xb2\\xe0\\xa5\\x8b \\xe0\\xa4\\x95\\xe0\\xa4\\xb2"

sys.stdout.buffer.write(data) 

would print

हैलो कल

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM