字符編碼

一、ascii碼:

基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言,最多只能用8位標識,即2**8=256-1,所以最多只能表示255個字符。
python字符編碼_第1張圖片

計算機沿用中國,中文顯然遠大于255字符,必須要對中文進行編碼

二、中文編碼

為處理漢字,程序設計用于簡體中文GB2132和繁體中文big5

GB2312(1980年) 共7445個字符,包括6763個漢字和682個其它符號,
GBK1.0(1995年)收錄了21886個符號,它分為漢字區和圖形符號區。漢字區包括21003個字符
GB18030(2000)取代GBK1.0證實成為國家標準。該標準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。現在的PC平臺必須支持GB18030,對嵌入式產品暫不作要求。所以手機、MP3一般只支持GB2312。
總結:1、從ASCII,GB2312,GBK到GB18030,編碼方法向下兼容。
2、中文版Windows的缺省內碼還是GBK,可以通過GB18030升級包升級到GB18030

三、unicode碼

顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字符和符號的編碼,即:Unicode。它為每種語言中每個字符設定了統一并且唯一的二進制編碼。最少2個字節,可能更多

四、utf-8:

對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...