一、Unicode和UTF-8介紹
在介紹Python實現字元串UTF-8編碼和解碼之前,我們需要了解兩個概念: Unicode和UTF-8。
Unicode是一種字符集,它規定了每個字元對應的唯一代碼值,即碼點。任何一種字符集都可以用Unicode的碼點來表示。
UTF-8是一種變長編碼方式,它將Unicode的碼點編碼成1到4個位元組,不同的字元編碼所用的位元組數不同。其中,英文字母和數字只需要1個位元組,而中文字元需要3個位元組。
二、Python實現字元串UTF-8編碼
Python中可以使用encode()方法將Unicode字元串編碼成UTF-8格式。
s = '中文' s_utf8 = s.encode('utf-8') print(s_utf8) # b'\xe4\xb8\xad\xe6\x96\x87'
上述代碼中,我們先定義一個字元串s,包含兩個中文字元。然後使用encode()方法將s編碼成UTF-8格式,並將結果保存在s_utf8變數中。最後輸出s_utf8的值,結果為b’\xe4\xb8\xad\xe6\x96\x87’,即UTF-8編碼的位元組序列。
三、Python實現字元串UTF-8解碼
與編碼相反,Python中可以使用decode()方法將UTF-8格式的位元組序列解碼成Unicode字元串。
s_utf8 = b'\xe4\xb8\xad\xe6\x96\x87' s = s_utf8.decode('utf-8') print(s) # '中文'
上述代碼中,我們定義了一個s_utf8變數,存儲了UTF-8編碼的位元組序列。然後使用decode()方法將s_utf8解碼成Unicode字元串,並將結果保存在s變數中。最後輸出s的值,結果為’中文’。
四、UTF-8的應用
由於UTF-8既支持英文數字等ASCII字元,也支持中文字元等Unicode字元,因此成為了互聯網應用中最廣泛的字元編碼方式。
在Python應用中,我們經常需要將字元串從Unicode編碼轉換為UTF-8編碼,並發送到Web伺服器等其他系統中。同樣,從外部系統接收到的數據也需要進行UTF-8解碼。
最後,以下是Python實現字元串UTF-8編碼和解碼的完整代碼示例:
s = '中文' s_utf8 = s.encode('utf-8') print(s_utf8) s = s_utf8.decode('utf-8') print(s)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280671.html