Python?encode()方法和decode()方法詳解
Python encode()方法
encode() 方法為字符串類型(str)提供的方法,用于將 str 類型轉換成 bytes 類型,這個過程也稱為“編碼”。
encode() 方法的語法格式如下:
str.encode([encoding="utf-8"][,errors="strict"])
注意,格式中用 [] 括起來的參數(shù)為可選參數(shù),也就是說,在使用此方法時,可以使用 [] 中的參數(shù),也可以不使用。
該方法各個參數(shù)的含義如表 1 所示。
表 1 encode()參數(shù)及含義
參數(shù) | 含義 |
---|---|
str | 表示要進行轉換的字符串。 |
encoding = "utf-8" | 指定進行編碼時采用的字符編碼,該選項默認采用 utf-8 編碼。例如,如果想使用簡體中文,可以設置 gb2312。 當方法中只使用這一個參數(shù)時,可以省略前邊的“encoding=”,直接寫編碼格式,例如 str.encode("UTF-8")。 |
errors = "strict" | 指定錯誤處理方式,其可選擇值可以是:
|
注意,使用 encode() 方法對原字符串進行編碼,不會直接修改原字符串,如果想修改原字符串,需要重新賦值。
【例 1】將 str 類型字符串“C語言”轉換成 bytes 類型。
>>> str = "C語言" >>> str.encode() b'C\xe8\xaf\xad\xe8\xa8\x80\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91'
此方式默認采用 UTF-8 編碼,也可以手動指定其它編碼格式,例如:
>>> str = "C語言" >>> str.encode('GBK') b'C\xd3\xef\xd1\xd4\xd6\xd0\xce\xc4\xcd\xf8'
Python decode()方法
和 encode() 方法正好相反,decode() 方法用于將 bytes 類型的二進制數(shù)據(jù)轉換為 str 類型,這個過程也稱為“解碼”。
decode() 方法的語法格式如下:
bytes.decode([encoding="utf-8"][,errors="strict"])
該方法中各參數(shù)的含義如表 2 所示。
表 2 decode()參數(shù)及含義
參數(shù) | 含義 |
---|---|
bytes | 表示要進行轉換的二進制數(shù)據(jù)。 |
encoding="utf-8" | 指定解碼時采用的字符編碼,默認采用 utf-8 格式。當方法中只使用這一個參數(shù)時,可以省略“encoding=”,直接寫編碼方式即可。 注意,對 bytes 類型數(shù)據(jù)解碼,要選擇和當初編碼時一樣的格式。 |
errors = "strict" | 指定錯誤處理方式,其可選擇值可以是:
|
【例 2】
>>> str = "C語言" >>> bytes=str.encode() >>> bytes.decode() 'C語言'
注意,如果編碼時采用的不是默認的 UTF-8 編碼,則解碼時要選擇和編碼時一樣的格式,否則會拋出異常,例如:
>>> str = "C語言" >>> bytes = str.encode("GBK") >>> bytes.decode()? #默認使用 UTF-8 編碼,會拋出以下異常 Traceback (most recent call last): ? File "<pyshell#10>", line 1, in <module> ??? bytes.decode() UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 1: invalid continuation byte >>> bytes.decode("GBK") 'C語言'
到此這篇關于Python encode()方法和decode()方法的文章就介紹到這了,更多相關Python encode()方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Win10下用Anaconda安裝TensorFlow(圖文教程)
這篇文章主要介紹了Win10下用Anaconda安裝TensorFlow(圖文教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06Python大數(shù)據(jù)之網(wǎng)絡爬蟲的post請求、get請求區(qū)別實例分析
這篇文章主要介紹了Python大數(shù)據(jù)之網(wǎng)絡爬蟲的post請求、get請求區(qū)別,結合具體實例形式分析了Python網(wǎng)頁爬蟲post請求與get請求相關使用技巧,需要的朋友可以參考下2019-11-11推薦系統(tǒng)MostPopular算法的Python實現(xiàn)方式
這篇文章主要介紹了推薦系統(tǒng)MostPopular算法的Python實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07JupyterNotebook設置Python環(huán)境的方法步驟
這篇文章主要介紹了JupyterNotebook設置Python環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12Python實現(xiàn)隨機生成任意數(shù)量車牌號
這篇文章主要介紹了Python實現(xiàn)隨機生成任意數(shù)量車牌號,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01