您的位置:

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

一、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
    True

结论

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