在Python中将unicode代码点转换为unicode字符

2024-04-19 15:49:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在解析文本中的十六进制/unicode转义符。在

所以我有一个输入字符串

\x{abcd}

这很简单-我得到一个数组["ab", "cd"],我称之为digits,并对其执行以下操作:

^{pr2}$

所以我基本上接受{}之间的所有内容作为UTF-8编码的字符,并将其转换为一个字符。简单。在

>>> bytes(int(d, 16) for d in ["e1", "88", "92"]).decode("utf-8")
'ሒ'

但是我想换一种方式:\u{1212}应该会产生相同的字符。问题是,我不知道如何将得到的["12", "12"]作为unicode码位而不是UTF-8字节来再次获得ሒ字符。在

如何在python3中实现这一点?在


Tags: 字符串文本内容编码bytesabunicodecd
2条回答

将数字解析为16进制后,可以使用chr

>>> chr(int('1212', 16))
'ሒ'
>>> '\u1212'
'ሒ'

如果您要在某个字符串中全局替换它,那么将re.sub与替换函数一起使用可以使这一过程变得简单:

^{pr2}$

你的意思是像这样编码字符串吗?在

>>> print u"\u1212"
ሒ
>>> print u"\u00A9"
©

编辑:

如果你从一个字符串开始,它只是

^{pr2}$

相关问题 更多 >