如何在python中有效地转换unicode码点和UTF-8字元?

问题描述 投票:0回答:1

我有一个很大的unicode码点表,请问如何在python中有效地转换unicode码点和UTF-8字符?http:/www.unicode.orgPublicUCDlatestucdUnicodeData.txt

我想渲染的字符,为了做到这一点。我的理解是,代码点必须被转换为utf-8的字面字符串, 然后这个字面字符串(被视为一个字节对象) 可以被转换为我想要渲染的字符。

举个具体的例子,给定十六进制数。

"00A1"

我需要把它转换为表达式:

"xc2/xa1"

然后在python中很容易将其转换为字符 "¡"。

我的问题是如何将 "00A1 "转换为"\xc2\xa1",反之亦然[最好使用内置方法或流行的第三方库]。

似乎没有一个内置的方法来支持。

到目前为止,我的工作是

string.encode方法允许我们将 "¡"转换为"\xc2\xa1"

bytestring.decode方法允许我们将"/xc2/xa1 "转换为 "¡"

但是访问该字符的十六进制索引表示(从00A1来回转换),不幸的是我仍然无法实现。

python unicode utf-8
1个回答
3
投票

事实上,我认为你根本不需要通过utf-8。int 会给你代码点

>>> int('00A1', 16)
161

然后,它只是 chr

>>> chr(161)
'¡'
© www.soinside.com 2019 - 2024. All rights reserved.