Ответ 1
Я нашел решение проблемы.
Я написал следующий код:
#convert to unicode
teststring = unicode(teststring, 'utf-8')
#encode it with string escape
teststring = teststring.encode('unicode_escape')
Я пытаюсь вывести как '\ U0001f604' вместо смайлика, но он не работает.
Я попытался использовать функцию repr(), но это дает мне это '\ xf0\x9f\x98\x84'. В настоящее время он выводится как смайлик, которого я не хотел. encode ('unicode_escape') дает мне UnicodeDecodeError.
Смайл был передан как строка методу класса в python. то есть "Я счастлив "
Цените, если кто-нибудь может помочь.
Извините за большой смайлик. Уценка не работает здесь.
Я нашел решение проблемы.
Я написал следующий код:
#convert to unicode
teststring = unicode(teststring, 'utf-8')
#encode it with string escape
teststring = teststring.encode('unicode_escape')
>>> print u'\U0001f604'.encode('unicode-escape')
\U0001f604
Просто добавьте
# -*- coding: UTF-8 -*-
в ваш код, и вы сможете печатать символы Unicode
Другим решением является использование коротких имен здесь и распечатать их с помощью строкового литерала \N
print('\N{grinning face with smiling eyes}')
Если это для целей отладки, вы можете использовать% r в качестве спецификатора формата.
>>> print '%r' % u'\U0001f604'
u'\U0001f604'
Этот код может помочь вам увидеть, как вы можете просто напечатать эмодзи:
# -*- 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!')
🙀 Sorry! No matches! Something is not right!
Anything else that you wish to match is a match 😄