当前位置:  开发笔记 > 编程语言 > 正文

表情符号的Python unicode字符转换

如何解决《表情符号的Pythonunicode字符转换》经验,为你挑选了1个好方法。

我在将字节有序标记格式化为unicode时遇到了一些问题.我的角色表达方式有些奇怪.基本上它不是在Python中打印表情符号字符,而只是字符串.这是我的例子.

# these codes are coming from a json file; this a representation of one of the codes.
e = 'U+1F600' # smile grin emoji

# not sure how to clean this, so here's a basic attempt using regex.
b = re.compile(r'U\+', re.DOTALL).sub('\U000', e)

print unicode(b) # output should be '\U0001F600'

无论出于何种原因,这都不会打印出表情符号字符.

但是,如果您输入与文字相同的字符串,使用该u标志一切都按预期工作.

print u'\U0001F600'

我在这做错了什么?我认为该unicode函数会将我的字符串转换为工作等效字符,但显然不是.

我正在使用Python 2.7



1> nu11p01n73R..:

我想decode你正在寻找,

>>> b = '\U0001F600'
>>> print b.decode('unicode-escape')

要么

>>> print unicode(b, 'unicode-escape')


这个问题

print unicode(b)

unicode函数尝试将字符串转换\U0001F600为unicode导致\\U0001F600.为了防止这种情况,我们提供当前编码为unicode-escape


@lindsay我添加了一个解释。希望能帮助到你
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有