2017-04-22 272 views
0

我有一個表情符號的Unicode字符串數據庫,如U0001F60A。我想從數據庫中提取它們並將它們轉換爲實際可用的unicode字符串。 (所以它們顯示爲表情符號而不是一堆字符。)標準形式似乎是u'\U0001F60A',但是,我無法獲得此表單。在Unicode中將unicode字符串轉換爲可用的unicode

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] 

這使得emoji = U0001F60A,但我不能將其追加到u'\試圖象變化

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

不要工作,因爲u'似乎是一個受保護的命令。有沒有一種方法可以使字符串變成unicode字符,沿着encode()命令的行? (我也嘗試過,但這似乎不起作用,但也許我沒有做對。)任何幫助,不勝感激。

+1

* 「我不能爲我的生命得到這種形式的」 * - 減,請。 –

回答

3

2.X:

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

3.X:

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

+0

非常感謝,完美的作品。 –

+0

'UnicodeEncodeError:'UCS-2'編解碼器無法在位置0編碼字符'\ U0001f60a':Tk'不支持非BMP字符? – frederick99

+0

@ frederick99:是的。 Tk很可怕。 –