Unicode格式的Python3表情字符 [英] Python3 emoji characters as unicode
本文介绍了Unicode格式的Python3表情字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在python3中有一个字符串,其中包含表情符号,我希望将这些表情符号视为其Unicode表示形式。我需要在这种格式的表情符号上做一些操作。
s = '😬 😎 hello'
这会将每个表情符号视为其自己的字符,以便len(s) == 9
&;&;s[0] == 😬
我希望更改字符串的格式,使其使用Unicode点,以便
s = '😬 😎 hello'
u = to_unicode(s) # Some function to change the format.
print(u) # 'ud83dude2c ud83dude0e hello'
u[0] == 'ud83d' and u[1] == 'ude2c'
len(u) == 11
有没有想过创建一个函数to_unicode
,该函数需要s并将其更改为u?我可能认为字符串/Unicode在python3中的工作方式是错误的,所以如果有任何帮助/更正,我将非常感激。
Utf
下面是一些代码,可以将映射到两个推荐答案-16单词的任何字符转换为十六进制序列。
s = 'U0001f62c U0001f60e hello'
def pairup(b):
return [(b[i] << 8 | b[i+1]) for i in range(0, len(b), 2)]
def utf16(c):
e = c.encode('utf_16_be')
return ''.join(chr(x) for x in pairup(e))
u = ''.join(utf16(c) for c in s)
print(repr(u))
print(u[0] == 'ud83d' and u[1] == 'ude2c')
print(len(u))
'ud83dude2c ud83dude0e hello'
True
11
我以为这将是一件轻而易举的事情,但事实证明它比我预期的要棘手。尤其是因为我第一次没有完全理解这个问题。
这篇关于Unicode格式的Python3表情字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文