Встроенная функция ord
также работает для символов Юникода как в Python2, так и в PYthon3.
Python 3
>>> c='\U0010ffff'
>>> ord(c)
1114111
Python 2
>>> c=u'\U0010ffff'
>>> ord(c)
1114111
Разница междуPython 2 и Python 3
Разница между Python 2 и Python 3 заключается в том, что вы идете по-другому.
В Python 3 функция chr
может принимать любой код, ascii илиunicode и выводит символ.
В Python 2 функция chr
предназначена для расширенного ascii (код от 0 до 255), а функция unichr
для unicode.
Этоиз-за того, что в Python 2 строки unicode и ascii были двух разных типов.
шестнадцатеричный
Если вам нужно получить код символа в шестнадцатеричном формате, вы можете использовать hex
.
>>> hex(1114111)
'0x10ffff'
Binary
Если вам нужно получить символ в двоичном формате, вы можете использовать bin
.
>>> bin(1114111)
'0b100001111111111111111'