Ich habe einige Probleme mit der Formatierung einer Byte-Ordered-Marke zu Unicode. Es ist eine gewisse Ungereimtheit, die damit einhergeht, wie mein Charakter ausgedrückt wird. Im Grunde wird kein Emoji-Zeichen in Python gedruckt, sondern nur die Zeichenfolge. Hier ist mein Beispiel.Python Unicode-Zeichen-Konvertierung für 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'
Aus irgendeinem Grund wird kein Emoji-Zeichen gedruckt.
Wenn Sie jedoch die gleiche Zeichenfolge wie ein Literal mit dem u
Flag eingeben, funktioniert alles wie erwartet.
print u'\U0001F600'
Was mache ich hier falsch? Ich dachte, dass die unicode
Funktion meine Zeichenfolge in die Arbeitsäquivalent konvertieren würde, aber es ist anscheinend nicht.
Ich verwende Python 2.7
zur Verfügung. Es funktioniert! Danke @ nu11p01n73R für deine Hilfe. Was ist der Grund für diese Unregelmäßigkeit? Inwiefern verändert das die Ausgabe? – lindsay
@lindsay Ich habe eine Erklärung hinzugefügt. Hoffe es hilft – nu11p01n73R
danke nochmal! Das hat alles für mich geklärt. :) – lindsay