Python中的ord()
函数用于获取单个字符的Unicode码点(整数表示),是处理字符编码、加密算法等场景的核心工具。 例如,ord('A')
返回65,ord('中')
返回20013,支持ASCII和Unicode字符,常与chr()
函数配合实现字符与数字的相互转换。
-
基础用法
ord()
接受一个长度为1的字符串参数,返回对应的Unicode整数。例如,ord('a')
输出97,ord('€')
输出8364。若传入多字符字符串会触发TypeError
。 -
实际应用场景
- 字符编码转换:处理不同字符集时,将字符转为数值便于统一处理。
- 加密算法:如凯撒密码中,通过字符的Unicode值进行位移加密。
- 排序与比较:基于Unicode码点实现自定义字符排序逻辑。
-
注意事项
- 仅支持单个字符,多字符需结合循环(如
[ord(c) for c in "Hello"]
)。 - 非ASCII字符(如中文)返回的码点可能远超255,需注意数值范围。
- 仅支持单个字符,多字符需结合循环(如
-
与
chr()
的联动
chr()
是ord()
的逆函数,可将Unicode码点还原为字符。例如,chr(97)
返回'a'
,二者配合可用于编解码或数据转换任务。
提示:在涉及国际化文本或加密开发时,优先使用ord()
而非ASCII相关函数,确保兼容性。对于复杂字符串处理,结合列表推导式可高效批量转换。