2018-11-23 python學習第八天

'''

  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格式的二進制

#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章