我想将unicode转换为asci字符,通过只接受asci字符的通道传输它们,然后将它们转换回适当的unicode。
我正在处理Python 3.5中的ɑ
之类的unicode字符。
ord("ɑ")
给我63与ord("?")
也给我63相同。这意味着仅使用ord()
和chr()
不起作用。如何获得正确的转换?
答案 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(_)
'ɑ'