У меня есть строка Unicode в «узкой» сборке Python 2.7.10, содержащая символ Unicode. Я пытаюсь использовать этот символ Unicode для поиска в словаре, но когда я индексирую строку, чтобы получить последний символ Unicode, она возвращает другую строку:
>>> s = u'Python is fun \U0001f44d'
>>> s[-1]
u'\udc4d'
Почему это происходит и как мне получить '\U0001f44d'
из строки?
Редактировать: unicodedata.unidata_version
— это 5.2.0, а sys.maxunicode
— это 65535.
unicodedata.unidata_version
иsys.maxunicode
? - person wim   schedule 20.03.2019len(u'\U0001f44d')
возвращает2
на вашем Python? - person wim   schedule 20.03.2019len(u'\U0001f44d')
возвращает 2. - person Tim   schedule 20.03.2019/usr/bin/python
. Возможно, в вашем вопросе следует упомянуть вашу платформу (хотя это видно на скриншоте, если вы знаете, где искать). - person tripleee   schedule 20.03.2019