Python的字元編碼

來源:互聯網
上載者:User

標籤:span   電腦   處理   gpo   utf-8   位元   數字   最大   unicode   

字元編碼

  因為電腦只能處理數字,如果要處理文本,就必須先把文本轉換為數字才能處理。最早的電腦在設計時採用8個位元(bit)作為一個位元組(byte),所以,一個位元組能表示的最大的整數就是255(二進位11111111=十進位255),如果要表示更大的整數,就必須用更多的位元組。比如兩個位元組可以表示的最大整數是65535,4個位元組可以表示的最大整數是4294967295。

  由於電腦是美國人發明的,因此,最早只有127個字母被編碼到電腦裡,也就是大小寫英文字母、數字和一些符號,這個編碼錶被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母z的編碼是122。

  中文編碼問題一直是程式員頭疼的問題。Python2的預設編碼是ASCII碼,Python3的預設編碼是UTF-8

一、python2 與  python3   通用的編碼方式

  1、UTF-8編碼方式:  

    英文 :A  00100000              8位      1位元組

    中文: 中     00000001   00000010  00001110  24位  3位元組  

   2、GBK編碼方式:   

    英文: A  00000110                    8位  1位元組

    中文: 中     00000010  00000110          16位  2位元組

   各個編碼之間二進位,是不能互相識別的,會產生混亂

   檔案之間的儲存、傳輸、不能用Unicode碼(因為所佔用的空間太大),只能用UTF-8、UTF-16、GBK、GB2312、ASCII碼

  3、str在Python中是用Unicode碼,還有一種是bytes 類型

    1、英文

     str:

      表現形式   s = ‘alex‘

      編碼方式   0101010101  unicode

     bytes:

      表現形式  s = b‘alex‘ 

      編碼方式  00101010  utf-8  gbk  

    2、中文

     str:

      表現方式  s= ‘中國‘ 

      編碼方式  01010110  utf-8  gbk

     bytes

      表現方式  b‘x\e91\e91\e01\e21\e31\e32

      編碼方式  01001100  utf-8  gbk

 

Python的字元編碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.