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()` 函数使用方法 #### 1. 函数概述 `ord()` 和 `chr()` 是用于字符和整数(通常是ASCII或Unicode码位)之间相互转换的内置函数。这两个函数在处理字符编码时非常有用,尤其是在涉及文本处理的应用程序中[^2]。 #### 2. `ord()` 函数详解 `ord()` 接受单个字符作为参数并返回对应的整数值,该值代表给定字符的Unicode码点,在ASCII范围内即为相应的ASCII码。这意味着对于任何有效的单一字符输入,此函数都会提供一个唯一的数字表示形式[^3]。 ```python print(ord('A')) # 输出: 65 print(ord('a')) # 输出: 97 ``` #### 3. `chr()` 函数详解 相反地,`chr()` 将接受一个整数参数,并返回与之相对应的字符。这个过程实际上是`ord()`操作的逆向版本;它能够把由`ord()`产生的整数重新变回原始字符[^4]。 ```python print(chr(65)) # 输出: A print(chr(97)) # 输出: a ``` #### 4. 实际应用场景 为了更直观地展示这两个函数的工作原理及其潜在用途,下面给出了一些具体的例子: - **基本转换** ```python for i in range(65, 68): # ASCII values for 'A' to 'C' char = chr(i) ascii_val = ord(char) print(f"Character {char} has ASCII value {ascii_val}") ``` - **字符串遍历** 当需要逐字分析字符串或将整个字符串映射到其各自的ASCII/Unicode码时,可以组合使用这些功能来实现目标[^1]。 ```python text = "Hello" encoded_text = [str(ord(c)) for c in text] decoded_text = ''.join([chr(int(code)) for code in encoded_text]) print(encoded_text) # ['72', '101', '108', '108', '111'] print(decoded_text) # Hello ``` 通过上述实例可以看出,掌握好`ord()`和`chr()`不仅有助于加深对Python内部工作机制的理解,而且可以在实际项目开发过程中发挥重要作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值