Python 中的 encode() 和 decode() 有什麼區別?


在 Python 中,encode()decode() 方法用於在不同格式(例如文字和位元組表示)之間對字串或資料(作為輸入)進行編碼和解碼。

Python 中的編碼

Python 中的編碼過程是指使用 'encode()' 方法將 字串(文字)轉換為位元組。這主要用於以特定格式(如 UTF-8、ASCII、UTF-16、UTF-32 等)儲存或傳輸準備好的資料。以下是語法:

input_string.encode(encoding, errors)

在上述語法中,將對 input_string 進行編碼,其中 error 決定了如果任何編碼在字串上失敗的錯誤處理型別('strict''ignore''replace')。

示例

以下示例將生成以位元組 (b) 格式編碼的字串。

my_string = "Hello, world!"
# Encoding string to bytes using UTF-8 
encoded_string = my_string.encode('utf-8')

print(encoded_string)  

以上程式碼的語法如下:

b'Hello, world!'

Python 中的解碼

此過程類似於編碼字串,使用 decode() 函式,我們可以將位元組流解碼為字串物件。以下是語法:

encoded = input_string.encode()

# Using decode()
decoded = encoded.decode(decoding, errors)

示例

encode() 將字串轉換為位元組,decode() 則執行相反的操作(位元組轉換為字串)。

byte_seq = b'Hello'
decoded_string = byte_seq.decode()
print(decoded_string)

以上程式碼的輸出如下:

Hello

encode 和 decode 之間的區別

特性 編碼 解碼
目的 將字串(文字)轉換為位元組(二進位制資料) 將位元組(二進位制資料)轉換為字串(文字)
輸入型別 'str' 'bytes'
方法 str.encode(encoding='utf-8') bytes.decode(encoding='utf-8')
用例 以二進位制格式儲存、傳輸或處理文字資料 訪問或讀取二進位制資料,並將其解釋為文字。
錯誤處理 'strict'、'ignore'、'replace' 'strict'、'ignore'、'replace'、'backslashreplace'

更新於:2024年11月13日

2K+ 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告