1. 程式人生 > >2018-11-23 python學習第八天

2018-11-23 python學習第八天

8bit 硬件 標準 unicode 數據 硬盤 bit utf 文本編輯器

‘‘‘

  1. 計算機系統分為三層:

    應用軟件
    操作系統
    硬件

  2. 文本編輯器讀一個文件的三個過程:

    1. 先啟動文本編輯器
    2. 文件編輯器會將文件內容讀入內存
    3. 將讀入內存的內容顯示到屏幕上

    Cpython解釋器執行一個py文件的三個過程:

    1. 先啟動python解釋器
    2. python解釋器會將py文件的內容當中普通的文本內容讀入內存
    3. 開始解釋執行剛剛讀入內存的代碼,識別python語法
  3. 字符編碼
    字符編碼指的是字符轉換成/編碼成數字
    編碼的過程一定要遵循一個標準,該標準稱之為字符編碼表

    字符--------編碼--------》數字
    字符《--------解碼--------數字

‘‘‘

#1. ASCII表:只能識別英文字符,用8bit對應一個英文字符

1個英文字符====>1Bytes

#2. GBK表:可以識別中文字符、英文字符,用8bit對應一個英文字符,用16個bit對應一個中文字符

1個英文字符====>1Bytes

1個中文字符====>2Bytes

#3. unicode(內存中默認使用該編碼):用2Bytes表示一個字符

1. 可以識別萬國字符

2. 與各種字符編碼的二進制數字都有對應關系

#4. utf-8全稱Unicode Transformation Format:

1個英文字符====>1Bytes

1個中文字符====>3Bytes

結論:

#1、 編碼與解碼

字符--------編碼--------》數字

字符《--------解碼--------數字

unicode二進制========編碼========》utf-8二進制

unicode二進制《=======解碼=========utf-8二進制

#2. 內存中固定使用unicode編碼,我們可以改變的是數據由內存刷到硬盤時采用的編碼(應該采用utf-8)

unicode的特點:

1. 可以識別萬國字符

2. 與各種字符編碼的二進制數字都有對應關系

#3. 解決亂碼問題的核心:

1. 字符當初以什麽編碼存的,就應該以什麽編碼去讀

2. 保證運行python程序的前兩個階段不亂碼的解決方案:添加文件頭

在文件首行添加#coding:文件當初存的字符編碼

#4. python解釋器默認的編碼

python3:默認utf-8

python2:默認ASCII

#5.

python3的字符串類型在內存中存成unicode格式的二進制

#

2018-11-23 python學習第八天