2014-09-07 10 views
12

Ho cercato di emettere come "\ U0001f604" invece della faccina, ma non sembra funzionare.printji python print come stringa unicode

Ho provato a usare repr() ma mi dà questo '\ xf0 \ x9f \ x98 \ x84'. Attualmente emette come smiley che non è quello che volevo. encode ('unicode_escape') mi dà un UnicodeDecodeError.

Lo smiley è stato passato come una stringa a un metodo di classe in python. cioè "Sono felice "

Apprezzo se qualcuno potrebbe aiutare.

Ci scusiamo per la grande faccina. Il markdown non sembra funzionare qui.

risposta

9

Ho trovato la soluzione al problema.

ho scritto il seguente codice:

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

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

potete per favore citare il nome del pacchetto per queste funzioni in Python. –

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

Se questo è per scopi di debug, è possibile utilizzare% r come di formato.

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

Basta aggiungere

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

nel codice e si sarà in grado di stampare i caratteri Unicode

Problemi correlati