# python3 d:\a.py
1、先啟動python直譯器
2、直譯器會將a.py的內容當成普通記憶體從硬碟讀入記憶體,此時沒有語法意義
3、直譯器會解釋執行剛剛讀入記憶體的記憶體,開始識別python語法
# 1、相同點:python直譯器是解釋執行檔案內容的,因而python直譯器具備讀py檔案的功能
字元---------(標準)---------------數字
# 字元編碼表:存放的是字元與數字的對應關係
1、ascii:只能識別英文本元
特點:採用8bit對應乙個英文本元
8bit=》1byte
2、gbk:可以識別中文字串與英文本元
特點:採用16bit對應字元,該字元可以是英文本元、也可以是中文字元
3、shift-jis:可以識別日文字元和英文本元
4、unicode:# 作用:可以識別萬國字元
# 特點:2bytes對應乙個字元
字元-----》unicode格式的數字
|gbk shiftjis
中文字元、英文本元------------》unicode二進位制數-----------》gbk二進位制數
日文字元、英文本元------------》unicode二進位制數-----------》shiftjis二進位制數
韓文本元、英文本元------------》unicode二進位制數-----------》euc-kr二進位制數
萬國字元------------》unicode二進位制數-----------》utf-8二進位制數
5、utf-8:1byte對應英文本元
3byte對應乙個中文字元
1、群雄割據:英文本元--------------記憶體:ascii二進位制數--------------->硬碟:ascii二進位制數
中文英文本元--------------記憶體:gbk二進位制數--------------->硬碟:gbk二進位制數
日文英文本元--------------記憶體:shiftjis二進位制數--------------->硬碟:shiftjis二進位制數
韓文英文本元--------------記憶體:euc-kr二進位制數--------------->硬碟:euc-kr二進位制數
2、過渡階段:中文英文本元------------記憶體:unicode*****====gbk**********==>硬碟:gbk二進位制數
日文英文本元------------記憶體:unicode*****====shifjis*****===>硬碟:shiftjis二進位制數
韓文英文本元------------記憶體:unicode*****====euc-kr*****====>硬碟:euc-kr二進位制數
萬國字元----------------記憶體:unicode*****====utf-8**********>硬碟:utf-8二進位制數
# 記憶體固定使用:unicode
# 我們可以改變的是從記憶體寫入硬碟採用的編碼格式
3、分久必合:萬國字元----------------記憶體:unicode*****====utf- 8**********>硬碟:utf-8二進位制數
萬國字元----------------記憶體:utf-8*************************=>硬碟:utf-8二進位制數
1、存的時候亂了:採用的字元編碼表無法識別輸入的字元
存的時候就已經亂了,是無法補救的,取的時候一定也亂了
# 解決方法:存入硬碟的編碼格式應該用utf-8格式
2、存的時候沒有亂碼:採用的字元編碼表可以識別輸入的字元
但是取的時候亂碼了:採用的字元編碼表與當初存的時候用的不是同一張表
# 解決方法:存的時候用什麼編碼,取的時候一定要用同樣的編碼格式
1、保證執行python程式的前兩個階段不亂碼
在python檔案的開頭加一行:
# coding:檔案存的時候用的編碼格式
2、在字串前面+u
# 在python3中字串型別的值在記憶體中都是unicode格式的數字
x="上"
print(x)
# 在python2中字串型別的值在記憶體中都是檔案頭指定編碼格式的數字:x=u"上"
# 如果在字串前加字首u就把字串強制存成unicode格式,推薦使用
print([x,])
print(x)
python之字元編碼
1.以什麼編碼存的就以什麼編碼取出 記憶體固定使用unicode編碼 我們可以控制的編碼是往硬碟存放或者基於網路傳輸選擇編碼。2.資料是最先產生於記憶體中,是unicode格式,要想傳輸需要轉成bytes格式 unicode encode utf 8 bytes 拿到bytes,就可以往檔案記憶體存...
python之指定字元編碼
控制文字讀寫內容的模式 t文字 b二進位制 bytes 控制檔案讀寫操作的模式 r唯讀模式 w只寫模式 a只追加寫模式 r w a 沒有指定encoding引數作業系統會使用自己預設的編碼 linux系統預設utf 8 windows系統預設為gbk with open ccc.txt mode r...
python基礎之字元編碼
1.什麼是字元編碼?字元 標準 字元編碼 數字 2.為什麼要編碼?讓計算機認識人的字元 3.常見的字元編碼 ascii 乙個bytes代表乙個字元 英文本元 鍵盤上的所有其他字元 1bytes 8bit,8bit可以表示0 2 8 1種變化,即可表示256個字元 gbk 2bytes代表乙個字元,由...