python3中編碼和解碼


------------恢復內容開始------------

一、python3與python2.7在字符編碼上的差異

  • python2.7 默認編碼是和所在的操作系統一致,windows 是 GBK,macOS是 utf8 ,linux是utf8
  • python3 編碼統一規定默認編碼為 Unicode

 二、python3中str和bytes的區別

    (1)python3有兩種數據類型:str 和bytes。

      1、編碼為Unicode的文本顯示為str;

      2、其他編碼(比如gbk,utf8等)顯示為bytes(16進制方式表示)

     (2)在python3中的encode和decode都是相對於Unicode而言的

      1、encode()方法是str類型數據擁有的方法,將Unicode編碼的數據,轉換為其他編碼,作為新對象返回

      2、decode()方法是bytes類型數據擁有的方法,將其他編碼的數據解碼為Unicode編碼,作為新對象返回

 

 三、在python3中,漢字的編碼及其顯示方式

  例如,輸入漢字“中文”時

 
編碼方式 編碼二進制格式 在屏幕中的顯示
Unicode
'\u4e2d\u6587'
 "中文"
GBK    b'\xd6\xd0\xce\xc4'  b'\xd6\xd0\xce\xc4'
UTF8
b'\xe4\xb8\xad\xe6\x96\x87'
 b'\xe4\xb8\xad\xe6\x96\x87'
注解
b:代表bytes類型  ;\x代表編碼是16進制表示 ;\u表示編碼是Unicode
 

  

 

 

 

 

 

 

另外,ASCII碼可以表示所有到的英文字符,僅占一個字節,ASCII碼表示的字符會始終以字符形式在屏幕中顯示。

四、當在python3中用open()方法打開文件的注意事項

open()方法有很多參數,其中常用的有

    file:文件所在路徑及文件名

    mode:

      r:只讀,以text的模式打開文件

      w:寫入,以文本的模式打開文件,且打開時將文件內容清空

         b :以bytes的模式打開文件

                      a:在文件后添加內容

      r+:可讀可寫,在文件已有文本的后面繼續寫入

      w+:以可讀可寫方式打開文件,且打開文件時,清空文件,文件不存在則創建文件

      encoding:指定解碼文件使用的‘編碼方式’,比如‘utf8’、‘gbk’等,默認使用操作系統的編碼方式。windows默認是GBK,   macOS、linux默認使用utf8

 

------------恢復內容結束------------


免責聲明!

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



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