Python - Lesen Von Unicode-Emoji-Zeichen

Habe ich ein Python 2.7 Programm liest iOS-SMS-Nachrichten aus einer SQLite-Datenbank. Die text-Nachrichten sind unicode-strings. In der folgenden SMS:

u'that\u2019s \U0001f63b'

Den Apostroph vertreten durch \u2019, aber die emoji wird vertreten durch \U0001f63b. Ich schaute auf die code-point für die emoji in Frage, und es ist \uf63b. Ich bin mir nicht sicher, wo der 0001 kommt. Ich weiß, komisch wenig über Zeichenkodierungen.

Wenn ich drucken den text, Zeichen für Zeichen, Verwendung:

s = u'that\u2019s \U0001f63b'

for c in s:
    print c.encode('unicode_escape')

Das Programm erzeugt die folgende Ausgabe:

t
h
a
t
\u2019
s

\ud83d
\ude3b

Wie kann ich richtig gelesen, diese letzten Zeichen in Python? Bin ich mit codieren richtig hier? Sollte ich einfach versuchen, in den Papierkorb, diese 0001s vor, es zu Lesen, oder gibt es einen einfacheren, weniger dumme Art und Weise?

  • 0xf63b ist in die "Private Nutzung" im Abschnitt Unicode. Sind Sie sicher, dass das richtig ist? Ihre codepoint ist wahrscheinlich 0x1f63b, wie das ist, eine "lächelnde Katze mit Herz-Augen" emoji".
  • Wie haben Sie festgestellt, dass \uf63b wäre ein Emoji-Zeichen? Nach meinem Hinweis, es ist nicht definiert: fileformat.info/info/unicode/char/f63b/index.htm
Schreibe einen Kommentar