Python字符串編碼轉換-encode()和decode()方法




Python 3.x 默認采用 UTF-8 編碼格式,有效地解決了中文亂碼的問題。
目前我們公司采用的是Python 2.x。

在 Python 中,有 2 種常用的字符串類型,分別為 str 和 bytes 類型,其中 str 用來表示 Unicode 字符,bytes 用來表示二進制數據。
str 類型和 bytes 類型之間就需要使用 encode() 和 decode() 方法進行轉換。

Python encode()方法
encode() 過程稱為“編碼” : str 類型 → bytes 類型
encode() 方法的語法格式:
str.encode([encoding="utf-8"][,errors="strict"])
注意,格式中用 [] 括起來的參數為可選參數,也就是說,在使用此方法時,可以使用 [] 中的參數,也可以不使用。

該方法各個參數的含義如表 1 所示。

  

注意,使用 encode() 方法對原字符串進行編碼,不會直接修改原字符串,如果想修改原字符串,需要重新賦值。


Python decode()方法

decode() 過程稱為“解碼” : bytes 類型的二進制數 → str 類型
decode() 方法的語法格式如下:
bytes.decode([encoding="utf-8"][,errors="strict"])
該方法中各參數的含義如表 2 所示。



出現報錯:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 0: ordinal not in range(128)
可以在開頭添加如下代碼:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM