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

从U + unicode字符串定义转换为真正的unicode字符

如何解决《从U+unicode字符串定义转换为真正的unicode字符》经验,为你挑选了1个好方法。

我有一长串使用'U+1F49A'编码约定的unicode定义和描述映射.

在python(3)中,我如何以真正的unicode字符读取它们?(即'\u00001F49A'或'''

我已经尝试过数组切片和组合,'\U000{}'.format('1F49A')但最终会SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-4: truncated \UXXXXXXXX escape因为初始字符串实例化在部分unicode声明中出现问题.



1> Robᵩ..:

您还可以使用int()解析数字,chr()并将数字转换为单字符字符串.

例如:

In [8]: chr(0x1f49a)
Out[8]: ''

In [9]: s='U+1F49A'

In [10]: chr(int(s[2:], 16))
Out[10]: ''

如果要转换U+xxxx较大字符串中的所有实例,可以在第二个arg中使用相同的chr()/ int()pattern re.sub():

In [14]: s = 'U+1F49A -vs- U+2764'

In [15]: re.sub(r'U\+([0-9a-fA-F]+)', lambda m: chr(int(m.group(1),16)), s)
Out[15]: ' -vs- ?'


@mmorin - 不,Jupyter不是必需的,但Python3是.这些命令至少在Ubuntu的Python3中运行良好.
推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有