Подтвердить что ты не робот

Print python emoji как строка в Юникоде

Я пытаюсь вывести как '\ U0001f604' вместо смайлика, но он не работает.

Я попытался использовать функцию repr(), но это дает мне это '\ xf0\x9f\x98\x84'. В настоящее время он выводится как смайлик, которого я не хотел. encode ('unicode_escape') дает мне UnicodeDecodeError.

Смайл был передан как строка методу класса в python. то есть "Я счастлив "

Цените, если кто-нибудь может помочь.

Извините за большой смайлик. Уценка не работает здесь.

4b9b3361

Ответ 1

Я нашел решение проблемы.

Я написал следующий код:

#convert to unicode
teststring = unicode(teststring, 'utf-8')

#encode it with string escape
teststring = teststring.encode('unicode_escape')

Ответ 2

>>> print u'\U0001f604'.encode('unicode-escape')
\U0001f604

Ответ 3

Просто добавьте

# -*- coding: UTF-8 -*-

в ваш код, и вы сможете печатать символы Unicode

Ответ 4

Другим решением является использование коротких имен здесь и распечатать их с помощью строкового литерала \N

print('\N{grinning face with smiling eyes}')

Ответ 5

Если это для целей отладки, вы можете использовать% r в качестве спецификатора формата.

>>> print '%r' % u'\U0001f604'
u'\U0001f604'

Ответ 6

Этот код может помочь вам увидеть, как вы можете просто напечатать эмодзи:

Код

# -*- coding: UTF-8 -*-
import re

# string = 'Anything else that you wish to match, except URLs http://url.org'
string = 'Anything else that you wish to match'
matches = re.search(r'^(((?!http|https).)+)$', string)
if matches:
    print(matches.group(1)+ " is a match 😄 ")
else: 
    print('🙀 Sorry! No matches! Something is not right!')

Вывод для строки с URL

🙀 Sorry! No matches! Something is not right!

Вывод для строки без URL

Anything else that you wish to match is a match 😄