2017-04-22 273 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很可怕。 –