網站首頁 編程語言 正文
Python encode()方法
encode() 方法為字符串類型(str)提供的方法,用于將 str 類型轉換成 bytes 類型,這個過程也稱為“編碼”。
encode() 方法的語法格式如下:
str.encode([encoding="utf-8"][,errors="strict"])
注意,格式中用 [] 括起來的參數為可選參數,也就是說,在使用此方法時,可以使用 [] 中的參數,也可以不使用。
該方法各個參數的含義如表 1 所示。
表 1 encode()參數及含義
參數 | 含義 |
---|---|
str | 表示要進行轉換的字符串。 |
encoding = "utf-8" | 指定進行編碼時采用的字符編碼,該選項默認采用 utf-8 編碼。例如,如果想使用簡體中文,可以設置 gb2312。 當方法中只使用這一個參數時,可以省略前邊的“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 類型的二進制數據轉換為 str 類型,這個過程也稱為“解碼”。
decode() 方法的語法格式如下:
bytes.decode([encoding="utf-8"][,errors="strict"])
該方法中各參數的含義如表 2 所示。
表 2 decode()參數及含義
參數 | 含義 |
---|---|
bytes | 表示要進行轉換的二進制數據。 |
encoding="utf-8" | 指定解碼時采用的字符編碼,默認采用 utf-8 格式。當方法中只使用這一個參數時,可以省略“encoding=”,直接寫編碼方式即可。 注意,對 bytes 類型數據解碼,要選擇和當初編碼時一樣的格式。 |
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語言'
原文鏈接:https://www.cnblogs.com/beichengshiqiao/p/17010011.html
相關推薦
- 2022-05-28 解決tomcat啟動?ssm項目出現亂碼的問題_Tomcat
- 2023-05-26 C#?using()的使用方法_C#教程
- 2024-07-15 arthas操作spring被代理目標對象命令速查
- 2022-06-02 Go語言中定時任務庫Cron使用方法介紹_Golang
- 2022-03-19 C語言結合ffmpeg打印音視頻信息_C 語言
- 2022-09-20 C語言數據結構之單鏈表操作詳解_C 語言
- 2022-02-14 同一個docker鏡像,如何拉起多個docker container?
- 2022-02-27 Redux及React-redux的簡單使用
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支