Преобразование из шестнадцатеричного символа в символ Unicode в Python - PullRequest
5 голосов
/ 09 августа 2011

Шестнадцатеричная строка '\xd3' также может быть представлена ​​как: Ó.

Я нашел самый простой способ получить представление символа шестнадцатеричной строки на консоли:

print unichr(ord('\xd3'))

Или на английском языке преобразовать шестнадцатеричную строку в число, а затем преобразоватьэто число в кодовую точку Unicode, затем, наконец, вывести его на экран.Это похоже на дополнительный шаг.Есть ли более простой способ?

1 Ответ

11 голосов
/ 09 августа 2011
print u'\xd3'

Это все, что тебе нужно сделать. Вам просто нужно как-то сказать Python, что это литерал Юникода; ведущий u делает это. Это даже будет работать для нескольких символов.

Если вы говорите не о литерале, а о переменной:

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

Edit: указание определенной кодировки при print ing не будет работать, если она несовместима с кодировкой вашего терминала, поэтому просто позвольте print do encode(sys.stdout.encoding) автоматически. Спасибо @ ThomasK.

...