1. 程式人生 > >python語法_字元編碼

python語法_字元編碼

二進位制:

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 位元組型別 一種資料型別,不同