Получить символ, которому соответствует кодовая точка Unicode - PullRequest
0 голосов
/ 25 мая 2018

Для класса Computer Science нам нужно создать программу на python, которая преобразует символ в его кодовую точку Unicode (двоичное / шестнадцатеричное число, которое является ссылкой на символ).Есть ли какая-нибудь функция, которая может сделать это, например, как функция ord() конвертирует в ASCII, и есть ли функция, которая делает обратное, превращая кодовую точку Unicode в символ?

Спасибо

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

В Python3, если вы знаете кодовую точку Unicode для символа, например, с кодовой точкой Unicode \u6211, вы можете получить символ с помощью:

chr(0x6211)
0 голосов
/ 25 мая 2018

Встроенная функция 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'
...