web-dev-qa-db-fra.com

print python emoji sous forme de chaîne unicode

J'ai essayé de sortir  comme '\ U0001f604' au lieu du smiley mais cela ne semble pas fonctionner.

j'ai essayé d'utiliser repr () mais cela me donne ce '\ xf0\x9f\x98\x84'. Actuellement il sort comme le smiley qui n'est pas ce que je voulais. encode ('unicode_escape') me donne un UnicodeDecodeError.

Le smiley a été transmis sous forme de chaîne à une méthode de classe en python. c'est-à-dire "je suis heureux "

Appréciez si quelqu'un peut vous aider.

Désolé pour le grand smiley. Le démarque ne semble pas fonctionner ici.

16
You Hock Tan

J'ai trouvé la solution au problème.

J'ai écrit le code suivant:

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

#encode it with string escape
teststring = teststring.encode('unicode_escape')
11
You Hock Tan
>>> print u'\U0001f604'.encode('unicode-escape')
\U0001f604
18

Une autre solution consiste à utiliser les noms courts ici et à les imprimer en utilisant la chaîne littérale \N

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

Ajoutez simplement

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

dans votre code et vous pourrez imprimer des caractères Unicode

6
Re4per

Ce code pourrait vous aider à voir comment vous pouvez simplement imprimer un emoji:

Code

# -*- 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!')

Sortie pour chaîne avec URL

???? Sorry! No matches! Something is not right!

Sortie pour chaîne sans URL

Anything else that you wish to match is a match ???? 
2
Emma

Si c'est à des fins de débogage, vous pouvez utiliser% r comme spécificateur de format.

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