在python中是否有像ord()那样的unicode hex?

时间:2016-05-09 15:48:18

标签: python unicode

我想将unicode转换为asci字符,通过只接受asci字符的通道传输它们,然后将它们转换回适当的unicode。

我正在处理Python 3.5中的ɑ之类的unicode字符。

ord("ɑ")给我63与ord("?")也给我63相同。这意味着仅使用ord()chr()不起作用。如何获得正确的转换?

3 个答案:

答案 0 :(得分:0)

您可以使用"0x%x" %255将数字转换为十六进制字符串,其中255将是您要转换为十六进制的数字。

要使用ord执行此操作,您可以执行"0x%x" %ord("a")或任何您想要的角色。

如果不需要,可以删除字符串的0x部分。如果要将hex设置为大写(A-F),请使用"0x%X" %ord("a")

答案 1 :(得分:0)

我发现了我的错误。我通过Windows控制台使用Python,Windows控制台错误地使用了unicode。

答案 2 :(得分:0)

  

我想将unicode转换为ascii字符,通过只接受ascii字符的通道传输它们,然后将它们转换回正确的unicode。

>>> import json
>>> json.dumps('ɑ')
'"\\u0251"'
>>> json.loads(_)
'ɑ'