Python chr ord

本文详细介绍了Python中用于ASCII字符和Unicode字符转换的chr(), ord()与unichr()函数的用法及区别,通过实例展示了如何在字符串操作中灵活运用这些函数。
 

python chr()和ord() 

标签: pythoncharacter
  2103人阅读  评论(0)  收藏  举报
  分类:
 

通过help 查看相关函数的帮助文档

>>>help (chr)

chr(...)

    chr(i) -> character    

    Return a string of one character with ordinal i; 0 <= i < 256.

参数是0 - 256 的一个整数,返回值是当前整数对应的ascii字符。参数可以是10进制也可以是16进制的形式


十六进制:

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. >>> print chr(0x30), chr(0x31), chr(0x61)  
  2. 0 1 a  


十进制:
[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. >>> print chr(48), chr(49), chr(97)  
  2. 0 1 a  

unichr(...)

    unichr(i) -> Unicode character    
    Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.

unichr()和chr()函数功能基本一样, 只不过是返回unicode的字符


ord(...)
    ord(c) -> integer
    Return the integer ordinal of a one-character string.

参数是一个ascii字符,返回值是对应的十进制整数

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. >>> print <b style="color:#000;background:#66ffff">ord</b>('a'), <b style="color:#000;background:#66ffff">ord</b>('0'), <b style="color:#000;background:#66ffff">ord</b>('1')  
  2. 97 48 49  
[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. >>> print "%x %x %x" % (<b style="color:#000;background:#66ffff">ord</b>('a'), <b style="color:#000;background:#66ffff">ord</b>('0'), <b style="color:#000;background:#66ffff">ord</b>('1'))  
  2. 61 30 31  
  3. >>> print "%#x %#x %#x" % (<b style="color:#000;background:#66ffff">ord</b>('a'), <b style="color:#000;background:#66ffff">ord</b>('0'), <b style="color:#000;background:#66ffff">ord</b>('1'))  
  4. 0x61 0x30 0x31  

通过chr()和 ord()联合起来使用,我们就可以对字符串进行相关运算的转换

比如一个字符串str1,转化成另一个字符串str2, 使得 str2[i] = str1[i] - i

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. str1 = "eb;3ej8h"  
  2. >>> for i in range(0, len(str1)):  
  3. ...     print chr((<b style="color:#000;background:#66ffff">ord</b>(str1[i])-i)),  
  4. ...   
  5. e a 9 0 a e 2 a  
### Python 中 `ord` 函数与 `chr` 函数的作用 在 Python 中,内置函数 `ord()` 和 `chr()` 是一对互逆的操作工具。具体来说: - **`ord()` 函数**用于接收一个字符串形式的单个字符作为参数,并返回该字符对应的 ASCII 或 Unicode 编码值[^1]。 ```python result = ord('A') # 返回 65 ``` - **`chr()` 函数**则相反,它接受一个整数类型的编码值(ASCII 或 Unicode),并将其转换为相应的字符[^2]。 ```python character = chr(65) # 返回 'A' ``` 这两个函数可以互相配合使用,从而实现字符与数值之间的灵活转换[^3]。 --- ### 配合使用的实例 以下是两个函数相互配合的一个简单例子,展示它们如何协同工作来处理字符和数字间的转换: ```python # 使用 ord 将字符转为 ASCII 值 ascii_value = ord('B') print(f"'B' 的 ASCII 值是 {ascii_value}") # 输出: 'B' 的 ASCII 值是 66 # 使用 chr 将 ASCII 值转回字符 character = chr(ascii_value) print(f"{ascii_value} 对应的字符是 '{character}'") # 输出: 66 对应的字符是 'B' # 结合两者验证其互逆关系 original_char = 'C' converted_back = chr(ord(original_char)) print(f"原始字符 '{original_char}' 转换后再还原得到 '{converted_back}'") # 输出: 原始字符 'C' 转换后再还原得到 'C' ``` 上述代码片段展示了如何利用 `ord()` 和 `chr()` 进行双向转换,确保数据的一致性和准确性。 --- ### 应用场景 这些函数的应用非常广泛,在实际开发中常被用来辅助完成以下任务: - 字符串加密解密算法的设计; - 数据压缩过程中涉及的字符编码变换; - 循环遍历特定范围内的字符集合时提供支持。 例如,可以通过如下方式生成从 `'a'` 到 `'z'` 所有的小写字母列表: ```python lowercase_letters = [chr(i) for i in range(ord('a'), ord('z')+1)] print(lowercase_letters) # ['a', 'b', ..., 'z'] ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值