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