python之路--day6--字符編碼

一.知識儲備
cpu--控制和運算
內存--暫時存儲cpu須要的數據
硬盤--永久保存數據
2.文本編輯器的原理存儲原理
1,啓動文本編輯器
2,在編輯器上輸入內容---此時輸入內容還在內存上
3,保存到硬盤
結論:在編寫py程序的時候,沒有語法的限制,編輯的結果和編寫
一個普通的文本文件沒有任何區別,只有把py程序交給python解釋器解釋
並執行的第三個階段纔有意義
3.python解釋器執行python程序的原理
python3 test.py
第一階段:先啓動python解釋器這個軟件
第二階段:把test.py文件的內容讀入內存
第三階段:解釋執行,識別語法
4.文本編輯器讀取原理
1.編輯器向操做系統發送請求
2.操做系統將數據從硬盤中取出,並在內存中加載
3.應用程序經過操做系統將內容打印出來

二.什麼是字符編碼
字符編碼就是把人類的語言翻譯爲計算機可以理解的二進制的過程
翻譯的過程遵循的原則--字符編碼表(字符與二進制數一一對應的關係)

字符編碼的發展:
ASCII 碼:只能表示英文字符,一個英文字符佔用1字節
GBK:中文定製的編碼表,2個字節表示中文,1個字節表示英文
unicode:(內存中固定的編碼)--2個字節表示一個字符
uft-8:unicode的升級版本,解決了unicode浪費內存空間的問題
1字節表示一個英文字符,3字節表示一箇中文字符

三.保證不亂碼的核心:
文件以什麼編碼存在,就必須以什麼編碼讀取
強調:咱們能夠控制的只是存在硬盤上的編碼

python3解釋器:默認utf——8編碼
python2解釋器:默認ascii編碼

文件頭的做用:
#coding:utf-8 告訴解釋器,使用我指定的字符編碼

四.執行python程序第三個階段發生的事
會識別python語法,定義的字符串類型涉及到字符編碼的概念

例子:
x='上' #x=str('上')
python2:
字符串分爲兩種形式
x='上' #python2的str類型會按照文件頭指定的編碼來存'上'

python3:
str:默認被存爲unicode

五,轉換 unicode和其餘編碼之間的轉換

  unicode---編碼encode---》utf-8
  utf-8---解碼decode---》unicode
  

  python3中str是以unicode編碼形式存放的

  x='你好'
  x.encode('utf-8') ----> bytes類型
  bytes.decode('utf-8')------------->str(unicode)字符串類型    三、bytes類型的用途:  一、存放到文件中  二、基於網絡傳輸
相關文章
相關標籤/搜索