python3的encode()和decode() 在python3的內存中. 在程序運行階段. 使⽤用的是unicode編碼. 由於unicode是萬國碼. 什麼內容均可以進行顯示. 那麼在數據傳輸和存儲的時候因爲unicode比較浪費空間和資源. 須要把unicode轉存成UTF-8或者GBK進行存儲. 怎麼轉換呢. 在python中能夠把⽂字信息進行編碼. 編碼以後的內容就能夠進行傳輸了了. 編碼以後的數據是bytes類型的數據.其實啊.仍是原來的數據只是通過編碼以後表現形式發生了改變而已. bytes 的表現形式 1.英文 b'nihao'英文的表現形式和字符串沒什麼兩樣 2.中文 b'\xc4\xe3\xba\xc3'這是一個漢子‘你好’的utf-8的bytes表現形式 字符串在傳輸時轉化爲bytes->encode(字符集)來實現。 英⽂編碼以後的結果和源字符串一致. 中文編碼以後的結果根據編碼的不一樣. 編碼結果 也不一樣. 咱們知道.一箇中⽂的UTF-8編碼是3個字節. 一個GBK的中文編碼是2個字節. 編碼以後的類型就是bytes類型. 在網絡傳輸和存儲的時候咱們python是保存和存儲的bytes 類型. 那麼在對方接收的時候. 也是接收的bytes類型的數據. 咱們能夠使⽤用decode()來進行解碼操做. ->把bytes類型的數據還原回咱們熟悉的字符串。 例子:編碼和解碼的時候都須要制定編碼格式. s = "我是文字" bs = s.encode("GBK") # 咱們這樣能夠獲取到GBK的⽂字 # 把GBK轉換成UTF-8 # ⾸首先要把GBK轉換成unicode. 也就是須要解碼 s = bs.decode("GBK") # 解碼 # 而後須要進行從新編碼成UTF-8 bss = s.encode("UTF-8") # 從新編碼 print(bss)