python-day10--字元編碼

來源:互聯網
上載者:User

標籤:讀檔案   預設   啟動   檔案的   python3   格式   編輯   utf-8   硬體   

1.回顧:

軟體→作業系統→硬體

2.文字編輯器:

    啟動:硬碟→記憶體→運行(cpu)

    讀檔案:硬碟→記憶體→CPU讀

    存檔案:儲存到硬碟中

3.python解譯器

    啟動:硬碟→記憶體→運行(cpu)

    讀檔案:硬碟→記憶體→CPU讀

(這兩階段與文字編輯器相同,但第三階段就不同了,關係到文法等問題)

    解釋執行:這個階段就要在記憶體中開闢新的空間

4.字元編碼:顧名思義就是編碼字元的

①字元編碼的作用:把人能識別的字元通過一種標準翻譯成計算能識別的二進位,翻譯過程的標準就是字元編碼表

②不同的字元編碼表

ASCII

    用8個位表示一個位元組bytes,共可表示2**8=256種

GBK

    用2個bytes表示1個字元,共2**16種

Unicode(萬國碼)

    用2個bytes表示1個字元(但是在儲存英文字元的時候就浪費空間)

UTF-8(萬國碼)

    對英文存1個bytes,中文存3個bytes

5.電腦記憶體中用Unicode(速度快),硬碟中用UTF-8(佔用空間小,傳輸穩定)

6.儲存檔案過程:記憶體Unicode   →   encode   →   硬碟UTF-8/或其他字元編碼

   讀取檔案過程:硬碟UTF-8/或其他字元編碼  →  decode   →   記憶體Unicode

7.以上總結:

①存檔案的時候用的什麼編碼(encode)取的時候就要用什麼編碼取(decode)

②python3解譯器預設的字元編碼是UTF-8,可以更改:   #coding:gbk或其他

③python2解譯器預設的字元編碼是ASCII,可以更改:   #coding:uft-8或其他

8.python解譯器第三階段才用到字串,執行中遇到字串就會開闢新的記憶體空間存起來。

在python3中字串都是unicode格式的二進位存放在記憶體中,而在python2中字串都是已經encode後的結果,即bytes。

9.Unicode   →   encode   →   bytes

   bytes       →   decode   →   Unicode

10.python3中有兩種形式的字串:

    ①.Unicode(解譯器自動控制)

    ②.bytes(Unicode→encode→bytes)(人為控制)

11.python2的字串有兩種:

    ①.   str = bytes(Unicode→encode→bytes)(解譯器自動控制)

    ②.   u‘  字串  ‘       (相當於python3中的Unicode)

12.為什麼要有bytes:

     電腦最基本的傳輸訊號就是二進位,就相當說最基本的傳輸訊號就是bytes,所以資料要傳輸就要用bytes。

 

 

 

 

    

python-day10--字元編碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.