У меня возникли проблемы с форматированием байтовой упорядоченной метки в unicode. Существует некоторая странность в том, как выражается мой персонаж. В основном это не печатает символ emoji в Python, а просто строка. Вот мой пример.Преобразование символов Юникода для Python для Emoji
# these codes are coming from a json file; this a representation of one of the codes.
e = 'U+1F600' # smile grin emoji
# not sure how to clean this, so here's a basic attempt using regex.
b = re.compile(r'U\+', re.DOTALL).sub('\U000', e)
print unicode(b) # output should be '\U0001F600'
По какой бы то ни было причине это не печатает символ эможи.
Однако, если вы набираете ту же строку, что и буква, используя флаг u
, все работает так, как ожидалось.
print u'\U0001F600'
Что я здесь делаю неправильно? Я думал, что функция unicode
преобразует мою строку в рабочий эквивалент, но, по-видимому, это не так.
Я использую Python 2.7
Получил это! Спасибо @ nu11p01n73R за вашу помощь. В чем причина этой нерегулярности? Каким образом это влияет на результат? – lindsay
@ lindsay Я добавил объяснение. Надеюсь, он поможет – nu11p01n73R
еще раз спасибо! Это очистило все это для меня. :) – lindsay