2017-04-22 7 views
0

Ich habe eine Datenbank von Unicode-Strings für Emoji wie U0001F60A. Ich möchte sie aus der Datenbank ziehen und sie in tatsächlich verwendbare Unicode-Strings konvertieren. (Sie erscheinen also als Emoji und nicht als Zeichenbündel.) Das Standardformular scheint u'\U0001F60A' zu sein, aber ich kann dieses Formular nicht bekommen.Konvertieren Unicode-String in nutzbare Unicode in Python

if sentiment < 0: 
    emoji = cursor.execute("SELECT emojiuni FROM emojineg WHERE id='{}';".format(num)) # Get negative emoji from DB. 
    emoji = cursor.fetchone() 
    emoji = emoji[0] 

Dies macht emoji = U0001F60A aber ich kann es nicht zu versuchen, u'\ Variationen hängen wie

`"u'\" + emoji + "'"` 
u' + "\" + emoji + "'" 
u'\emoji 

nicht funktionieren nicht, weil u' scheint ein geschützter Befehl zu sein. Gibt es eine Möglichkeit, die Strings in Unicode-Zeichen zu verwandeln, in Anlehnung an den Befehl encode()? (Ich habe das auch versucht, aber das scheint nicht zu funktionieren, aber vielleicht mache ich es nicht richtig.) Jede Hilfe wird sehr geschätzt.

+1

* "Ich kann nicht für das Leben von mir diese Form erhalten" * - Weniger, bitte. –

Antwort

3

2.x:

>>> print unichr(int('U0001F60A'[1:], 16)) 

3.x:

>>> print(chr(int('U0001F60A'[1:], 16))) 

+0

Vielen Dank, das funktioniert perfekt. –

+0

'UnicodeEncodeError: 'UCS-2' Codec kann das Zeichen '\ U0001f60a' nicht in Position 0 codieren: Nicht-BMP Zeichen wird nicht in Tk' ?? unterstützt. – frederick99

+0

@ Frederick99: Yup. Tk ist so schrecklich. –

Verwandte Themen