python語法_字元編碼
阿新 • • 發佈:2018-11-26
二進位制:
ascll:只能存英文和拉聽字元,一個字元佔一個位元組,8位
gb2312:只能存6700多箇中文,1980年
gbk1.0:能存2萬多字元,1995年
gbk18030:2000 27000萬字符
unicode:統一各個國家的編碼,萬國碼。每個位元組佔四個位元組,
最初表現形式utf-32,一個字元佔4個位元組,後面出現了utf-16,一個字元佔2個位元組或者2個以上(65535個字元),
最後出現utf-8:英文用ascll來存,一箇中文佔三個位元組,其他文字有佔2個位元組的。
所有的在中國發行的軟體都必須支援gb18030字元編碼。
計算機裡,unicode 稱呼為萬國碼,可以作為中間語言用於不同編碼的軟體進行互動。
把gpk 轉成unicode,為編碼encode,
gbk將unicode編碼的程式碼轉換成gbk能理解的,為解碼decode
in python2
預設編碼為ASCII編碼,寫中文的時候,必須先宣告 -*-coding:utf8-*-
GBK 轉換成UTF-8流程:
1 gbk 通過decode 成unicode編碼.
2 unicoe 通過encode 成utf-8編碼
in python3
所有檔案的預設字元編碼為unicode,所以在編碼時可以直接編碼成所需的編碼型別,不需要先decode了
但是如果unicode 去轉換成gbk,顯示的就是bytes了,其實unicode預設就支援中文的,沒什麼非常的必要,不需轉成gbk
encode 在編碼的同時,會把資料轉換成bytes型別
decode 在解碼的同時,會把bytes轉換成字串型別
b =bytes 位元組型別 一種資料型別,不同