一、UTF-8編碼簡介
UTF-8是一種用於Unicode字元編碼的可變長度字元編碼,旨在保持ASCII碼的兼容性。它使用1~4個位元組來表示每個字元,其中ASCII碼使用1個位元組,而其他符號使用2~4個位元組。
在Python中,字元串默認使用UTF-8編碼。如果需要將UTF-8編碼的字元串進行解碼,則可以使用Python的內置函數decode()方法。該方法可將一組位元組串編碼轉化為字元串。
# 示例代碼1 utf8_str = b'\xe4\xb8\xad\xe6\x96\x87' # UTF-8編碼的字元串 unicode_str = utf8_str.decode('utf-8') # 解碼成Unicode字元串 print(unicode_str)
上述代碼中,使用b前綴表示該字元串是一個位元組串,使用utf-8參數解碼成Unicode字元串。輸出結果為:中文
二、從URL獲取UTF-8編碼的字元串
有時候我們需要從URL獲取UTF-8編碼的字元串。在這種情況下,我們可以使用Python的標準庫urllib.parse模塊中的unquote()方法進行URL解碼。
# 示例代碼2 from urllib.parse import unquote url_str = 'http://example.com/%E4%B8%AD%E6%96%87' # URL編碼的字元串 utf8_str = unquote(url_str).encode('utf-8') # 解碼成UTF-8編碼的字元串 print(utf8_str.decode('utf-8'))
在上述代碼中,我們將URL編碼的字元串傳遞給unquote()方法進行解碼,得到一個Unicode字元編碼的字元串。此時我們將其編碼為UTF-8格式的位元組串,輸出結果為:中文
三、從文本文件讀取UTF-8編碼的字元串
當我們從文本文件中讀取UTF-8編碼的字元串時,通常使用Python的內置函數open()和read()。默認情況下,open()會以UTF-8格式解碼文件,read()將返回一個Unicode字元編碼的字元串。
# 示例代碼3 with open('example.txt', 'r') as f: # 打開文件 utf8_str = f.read() # 獲取UTF-8編碼的字元串 print(utf8_str)
上述代碼中,我們使用with open()方法打開名為example.txt的文本文件。由於文本文件默認以UTF-8格式保存,因此我們可以不指定編碼格式使用read()方法讀取文件內容,並將其保存在utf8_str變數中。最終輸出得到UTF-8編碼的字元串。
四、結語
通過上述三個方面的示例代碼,我們可以清楚地了解Python中如何解碼UTF-8編碼的字元串。這將在我們處理各種文本數據時非常有用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/257372.html