Python ord()和Unicode表don';I don’我不能给出相同的数字

Python ord()和Unicode表don';I don’我不能给出相同的数字,python,Python,根据Python文档,ord()给出了相应的Unicode数字。当我进来的时候 ord('A') 我有65号。然而,当我在名为Unicode Table()的站点中检查Unicode编号“A”时,它显示该编号为41 为什么会这样?Unicode的正确参考指南是什么?“41”是十六进制的 >>> ord("A") 65 >>> hex(ord("A")) '0x41' >>> int("41",base=16) 65 请注意,在链接的页面顶

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

ord('A')
我有65号。然而,当我在名为Unicode Table()的站点中检查Unicode编号“A”时,它显示该编号为41

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

“41”是十六进制的

>>> ord("A")
65
>>> hex(ord("A"))
'0x41'
>>> int("41",base=16)
65
请注意,在链接的页面顶部,可以看到
0123456789ABCDEF
,它给出了最后一位数字。

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

这是桌子上的桌子

在表中,您可以很容易地分辨十六进制代码和ASCII代码之间的差异


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

谢谢!Python使用的基数是多少?根据默认的整数输出,基数是10。如果要以二进制、八进制或十六进制输入数字,可以执行类似于
0b101011
0o12364
或此处的
0x41
的操作<代码>打印0x41应为您提供65。(Python 2还有一个恼人的错误功能,如果一个数字仅仅以0开头,它就会被解释为八进制:例如,try
print 010
,它给出8。)127以上没有ASCII字符。@Ignacio Vazquez Abrams有,但它们是扩展的。“扩展ASCII”是一个误称。它们是特定的代码页。@Ignacio Vazquez Abrams你所说的其他特定代码页是什么意思?