Python ord() 函数和 chr() 函数:字符与 ASCII/Unicode 码值间的完美转换198


在 Python 编程中,经常需要处理字符和它们的数值表示。 `ord()` 函数和 `chr()` 函数是 Python 内置函数,它们提供了字符和其对应的 Unicode 码值之间便捷的转换方法。理解并熟练运用这两个函数,对于处理文本数据、字符串操作以及与底层系统交互等任务至关重要。

`ord()` 函数:获取字符的 Unicode 码值

`ord()` 函数接受一个字符 (长度为 1 的字符串) 作为参数,并返回该字符对应的 Unicode 码值(整数)。Unicode 是一个字符编码标准,为世界上大多数书写系统中的字符提供了唯一的数字标识。 Python 使用 Unicode 来表示字符串,这使得它能够处理各种语言的文本。

以下是一些 `ord()` 函数的示例:```python
print(ord('A')) # 输出: 65
print(ord('a')) # 输出: 97
print(ord('0')) # 输出: 48
print(ord('中')) # 输出: 20013 (Unicode 码值会因字符而异)
print(ord('')) # 输出: 10 (换行符)
print(ord(' ')) # 输出: 32 (空格)
```

正如例子所示,`ord()` 函数可以处理各种字符,包括大写字母、小写字母、数字、汉字和其他特殊字符。 需要注意的是,对于不同的字符,其对应的 Unicode 码值也不同。 这些码值通常遵循一定的编码规则,例如 ASCII 码是 Unicode 的一个子集。

`chr()` 函数:根据 Unicode 码值获取字符

`chr()` 函数是 `ord()` 函数的逆操作。它接受一个整数 (Unicode 码值) 作为参数,并返回该码值对应的字符。

以下是一些 `chr()` 函数的示例:```python
print(chr(65)) # 输出: A
print(chr(97)) # 输出: a
print(chr(48)) # 输出: 0
print(chr(20013)) # 输出: 中
print(chr(10)) # 输出: (换行符)
print(chr(32)) # 输出: (空格)
```

`chr()` 函数可以将整数转换为对应的字符,从而方便地进行字符的生成和操作。 如果输入的整数不在 Unicode 码值范围内,则会引发 `ValueError` 异常。

`ord()` 和 `chr()` 函数的应用场景

这两个函数在许多编程任务中都有广泛的应用,例如:
字符编码转换: 将不同编码的字符转换为 Unicode 编码,或者反之。
字符串操作: 例如,根据字符的 ASCII 码值进行排序、查找或替换。
加密解密: 通过对字符的 Unicode 码值进行变换来实现简单的加密解密算法。
控制字符处理: 处理诸如换行符、制表符等控制字符。
数据校验: 通过计算字符的码值进行数据校验。
与底层系统交互: 在与硬件或其他系统进行交互时,可能需要使用 Unicode 码值进行通信。


错误处理和异常

当使用 `ord()` 函数时,如果输入的参数不是长度为 1 的字符串,则会引发 `TypeError` 异常。 当使用 `chr()` 函数时,如果输入的参数不在有效的 Unicode 码值范围内 (通常是 0 到 1114111 之间),则会引发 `ValueError` 异常。 良好的编程实践要求对这些异常进行处理,以避免程序崩溃。```python
try:
print(ord("AB")) #引发TypeError
except TypeError as e:
print(f"Error: {e}")
try:
print(chr(1200000)) #引发ValueError
except ValueError as e:
print(f"Error: {e}")
```

总结

`ord()` 和 `chr()` 函数是 Python 中处理字符和其 Unicode 码值的重要工具。 理解它们的功能和使用方法,对于编写高效、可靠的 Python 代码至关重要。 通过结合这两个函数,我们可以灵活地进行字符和数值之间的转换,从而解决各种编程难题。

进阶应用:案例分析

假设我们需要编写一个程序,将一段英文文本中的所有小写字母转换为大写字母。我们可以利用 `ord()` 和 `chr()` 函数来实现这个功能:```python
def to_uppercase(text):
result = ""
for char in text:
if 'a'

2025-06-01


上一篇:提升竞争力的Python简历代码示例及编写技巧

下一篇:Python 正则表达式转义字符串:全面指南