Bol*_*ter 1 python unicode python-3.x
我有一长串使用'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声明中出现问题.
Rob*_*obᵩ 10
您还可以使用int()解析数字,chr()并将数字转换为单字符字符串.
例如:
In [8]: chr(0x1f49a)
Out[8]: ''
In [9]: s='U+1F49A'
In [10]: chr(int(s[2:], 16))
Out[10]: ''
Run Code Online (Sandbox Code Playgroud)
如果要转换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- ?'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
680 次 |
| 最近记录: |