字元編碼和檔案操作(1)
字元編碼
由於計算機內部只識別二進位制,但是使用者在使用計算機卻可以看到各式各樣的語言字元,字元編碼內部記錄了人類字元與數字對應關係的字元
一、字元編碼的發展史
1、一家獨大
計算機最初是由美國人發明的,美國人為了能夠讓計算機識別英文字元,由此發明了ASCII碼,裡面記錄了英文字元與數字的對應關係
用一個位元組來對應關係
必須記住的對應關係是以下兩組:
A-Z 65-90
a-z 97-122
2、群雄割據
中國人為了能夠讓計算機識別中文,我們發明另外一套編碼表:GBK碼。它記錄了英文中文與數字的對應關係。對應英文使用一個位元組,對應中文還是使用兩個甚至更多位元組。
日本人為了能夠讓計算機可以識別日文,也發明了一套編碼表:shift_JIS碼:記錄了日文英文與數字的對應關係。
韓國人為了讓計算機能夠識別韓文,也需要發明一套編碼表:Euc_kr碼,:記錄了韓文英文與數字的關係。
3、天下一統
為了能夠實現不同國家之間的文字資料能夠彼此五障礙交流需要對編碼統一,發明了unicode(萬國碼),統一使用兩個及以上的記錄字元與數字的對應關係。utf8是萬國碼的優化版本,為了節省空間,將英文還是用一個位元組儲存,將中文使用三個位元組或更多位元組儲存。
<<<現在預設使用的編碼是utf8>>>
二、字元編碼實操
1、解決檔案亂碼的情況
檔案當初以什麼編碼編的,開啟的時候就是以什麼編碼解開。
2、python直譯器版本不同帶來的編碼差異
python2.x內部使用的編碼預設是ASCII。所以當直接以比如中文來建字串的時候,它無法識別。此時我們要
(1)加一個檔案頭:coding:utf8
(2)在python2中定義字串前面加小u:s=u'我'
python3.x內部使用utf8
3、編碼與解碼
編碼:將人類能夠讀懂的字元安裝指定的編碼轉換成數字
解碼:將數字按照指定的編碼轉換成人類能夠讀懂的字元
檔案操作
1、檔案:檔案時作業系統暴露給使用者操作硬碟的快捷方式(介面)
2、程式碼如何操作檔案三步走:
(1)利用關鍵字open開啟檔案
(2)利用其他方法操作檔案
(3)關閉檔案
補充:
路徑中國出現了字母與斜槓的組合產生了特殊含義如何取消,在路徑字串前面加一個r.
with上下文管理
三、檔案讀寫模式
1、只讀模式(只能看不能改)
2、只寫模式
3、追加模式
寫完啦