一、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("C")) print(ord("D") == ord('d'))
運行結果:
False True True
結論
Python ord()函數用於將Unicode轉換為整數,為諸如排序、算法、密碼學和混淆等任務提供了重要的基礎。對於涉及到處理字符串、字符編碼轉換、密碼學、數據壓縮和數據傳輸等的任務,ord()函數是必不可少的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/231972.html