根据Python文档,ord()以Unicode形式给出相应的数字。当我进入
ord('A')
我得到了数字65.但是,当我在名为Unicode Table(http://unicode-table.com/en)的站点中检查“A”的Unicode编号时,它表示该数字为41.
为什么会这样?什么是Unicode的正确参考指南?
答案 0 :(得分:9)
“41”是十六进制的。
>>> ord("A")
65
>>> hex(ord("A"))
'0x41'
>>> int("41",base=16)
65
请注意,在您关联的页面顶部,您会看到0123456789ABCDEF
,它会为您提供最后一位数字。
答案 1 :(得分:0)
ord()函数,至少在Python中,是基于ASCII表使用的。
以下是表格的link。
在表格中,您可以轻松区分十六进制和ASCII码。
现在给你我自己的理解,并且正如@DSM明确提到的,ASCII码是十六进制的十进制十进制版本(原谅我糟糕的英语技能)。因为按照惯例或其他原因,在十六进制7F之后的两位数字被认为是负数,因此在127之后你看不到ASCII数字的十六进制版本。