python學習之路--day07
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格式的二進位制