利用Python ord()函数将字符转换为ASCII码

发布时间:2023-05-13

一、Python ord()函数的介绍

Python ord()函数返回一个Unicode字符的整数表示,用于表示在Unicode字符集中的位置,即Unicode编码值(也称为code point或者code position)。该函数接受一个长度为1的字符串作为参数,返回该字符串表示的Unicode字符对应的十进制整数。

char = 'A'
print("Character:", char)
print("ASCII Value:", ord(char))

运行结果:

Character: A
ASCII Value: 65

因此,Python ord()函数能够将ASCII码转化为对应的整数值。

二、Python ord()函数的用途

Python ord()函数可用于优化文本处理,如在字符串处理、字符编码转换、密码学、数据压缩和数据传输等领域。 举例说明,可以使用ord()函数将明文转化为ASCII码,然后进行加密,加密后的信息再转化为ASCII码用于传输。接收方接收到信息后,可将接收到的ASCII码转化为明文内容。

三、Python ord()函数的实际应用

1、将字符串转化为ASCII码

下面的例子展示了如何使用for循环遍历一个字符串,并使用ord()函数将每个字符转化为ASCII码。

string = "Hello World"
for i in string:
    print("Character: ", i)
    print("ASCII Value: ", ord(i))

运行结果:

Character: H
ASCII Value:  72
Character: e
ASCII Value:  101
Character: l
ASCII Value:  108
Character: l
ASCII Value:  108
Character: o
ASCII Value:  111
Character:
ASCII Value:  32
Character: W
ASCII Value:  87
Character: o
ASCII Value:  111
Character: r
ASCII Value:  114
Character: l
ASCII Value:  108
Character: d
ASCII Value:  100

2、将ASCII码转化为字符

下面的代码通过使用chr()函数将ASCII值转化回字符。

ascii_values = [69, 120, 97, 109, 112, 108, 101, 115]
for value in ascii_values:
    print(chr(value))

运行结果:

E
x
a
m
p
l
e
s

3、使用ord()函数进行数据分类

可以将ord()函数用于排序操作,例如实现按键值对列表排序的操作。

# 定义键值对列表(假设其中的键为ASCII字符)
pair_list = [('b', 2), ('c', 1), ('a', 3)]
# 对列表进行排序
pair_list_sorted = sorted(pair_list, key=lambda x: ord(x[0]))
# 输出排序后的列表
print(pair_list_sorted)

运行结果:

[('a', 3), ('b', 2), ('c', 1)]

4、用于加密/解密

下面的代码演示了如何使用ord()函数将明文加密为ASCII码,接着再用chr()函数将其转换回明文信息。

message = "Hello, World!"
key = 7
# 加密
cipher = ''
for i in message:
    cipher = cipher + chr((ord(i) + key))
# 解密
decipher = ''
for i in cipher:
    decipher = decipher + chr((ord(i) - key))
print("Original Message: ", message)
print("Encrypted Message: ", cipher)
print("Decrypted Message: ", decipher)

运行结果:

Original Message:  Hello, World!
Encrypted Message:  Olssv5'&tw|#(
Decrypted Message:  Hello, World!

5、用于比较字母/字符的大小

下面的代码演示了如何使用ord()函数比较字母的大小。

# 比较ASCII码值
print(ord("a") < ord("A"))
print(ord("c") > ord("C")) 
print(ord("D") == ord('d'))

运行结果:

False
True
False

结论

Python ord()函数用于将Unicode转换为整数,为诸如排序、算法、密码学和混淆等任务提供了重要的基础。对于涉及到处理字符串、字符编码转换、密码学、数据压缩和数据传输等的任务,ord()函数是必不可少的。