拆分UTF-8编码的字符串来自unichr

时间:2009-11-27 11:32:32

标签: python

我有一组unicode数字,我需要将它们转换为UTF-8并打印结果以将它们分成十六进制值。

例如:Unicode 0x80应转换为UTF-8并打印为(0xc2,0x80)

我试过了

str(unichr(0x80).encode('utf-8')).split(r'\x')[0]

但它确实分裂为['c2','80']。但它给了我['\ xc2 \ x80']。

我需要这个来生成代码。

3 个答案:

答案 0 :(得分:2)

你想要这样吗?可以用列表推导来完成。

>>> ["%x"%ord(x) for x in unichr(0x80).encode('utf-8')]
['c2', '80']

答案 1 :(得分:2)

要生成UTF8编码字符串中字符的十六进制值列表,请使用以下命令:

>>> [hex(ord(x)) for x in unichr(0x80).encode('utf-8')]
['0xc2', '0x80']

答案 2 :(得分:1)

您尝试与\x分开,但字符串中不存在\x\xc2\x80只是屏幕上的转义码(如新行的\n),我想你想要的是:

print hex(ord(unichr(0x80).encode('utf-8')[0]))