如何获取字符的ASCII值

1324 投票
6 回答
1779746 浏览
提问于 2025-04-11 09:30

我怎么能在Python中获取一个字符的ASCII值,并把它当作一个整数(int)呢?

6 个回答

67

你正在寻找:

ord()
190

请注意,ord() 并不是直接给你字符的 ASCII 值;它给你的是这个字符在当前编码下的数字值。因此,如果你使用的是 Latin-1 编码,ord('ä') 的结果可能是 228;而如果你使用的是 UTF-8 编码,它可能会引发一个 TypeError 错误。如果你传入一个 Unicode 字符,它甚至可以返回 Unicode 码点。

>>> ord(u'あ')
12354
1753

来自 这里:

函数 ord() 可以获取一个字符对应的整数值。如果你玩弄这个数字后想要转换回字符,函数 chr() 就可以帮你做到这一点。

>>> ord('a')
97
>>> chr(97)
'a'
>>> chr(ord('a') + 3)
'd'
>>>

在 Python 2 中,还有一个 unichr 函数,它返回一个 Unicode 字符,这个字符的序号就是 unichr 的参数:

>>> unichr(97)
u'a'
>>> unichr(1234)
u'\u04d2'

在 Python 3 中,你可以用 chr 来代替 unichr


ord() - Python 3.6.5rc1 文档

ord() - Python 2.7.14 文档

撰写回答