我有一组unicode数字,我需要将它们转换为UTF-8并打印结果以将它们分成十六进制值。
例如:Unicode 0x80应转换为UTF-8并打印为(0xc2,0x80)
我试过了
str(unichr(0x80).encode('utf-8')).split(r'\x')[0]
但它确实分裂为['c2','80']。但它给了我['\ xc2 \ x80']。
我需要这个来生成代码。
答案 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]))