4

根据 Python 文档,ord() 给出了 Unicode 中的相应数字。当我进入

ord('A')

我得到了数字 65。但是,当我在名为 Unicode 表 ( http://unicode-table.com/en ) 的网站中检查 Unicode 数字“A”时,它显示数字是 41。

为什么会这样?什么是正确的 Unicode 参考指南?</p>

4

2 回答 2

9

“41”是十六进制。

>>> ord("A")
65
>>> hex(ord("A"))
'0x41'
>>> int("41",base=16)
65

请注意,在您链接的页面顶部,您会看到0123456789ABCDEF,它为您提供了最后一位数字。

于 2013-10-13T05:19:18.673 回答
0

ord() 函数,至少在 Python 中,是基于 ASCII 表使用的。

这是表格的链接。

在表格中,您可以轻松区分十六进制和 ASCII 码。

现在给你我自己的理解,正如@DSM 明确提到的,ASCII 码是十六进制的以 10 为底的十进制版本(请原谅我糟糕的英语技能)。由于按照惯例或其他方式,十六进制中 7F 之后的两位数字被认为是负数,因此您看不到 127 之后的 ASCII 数字的十六进制版本。

于 2013-10-13T05:32:55.533 回答