1 )字符集、編碼和中文字符集
字符集的意思是指二進制編碼(比如:DE 8F 1A 90)對應什么字符(比如:連通)。而編碼方式是指二進制編碼如何在計算機上存儲。比如:UTF-16是用兩個字節來存儲一個unicode編碼(DE 8F 1A 90);UTF-8使用1-3個字節來存儲一個unicode編碼(E8 BF 9E E9 80 9A )。
unicode如果理解成字符集,則是指它用來表示世界上所有語言的字符。標準的unicode編碼方式稱為UTF-16,一般都簡稱unicode編碼,用2個字節表示每個字符。
UTF-8 是unicode字符集的一種編碼方式,為了使得雙字節的unicode能夠在現存的處理單字節的系統上正確傳輸。用1-3個字節來表示每個字符,對于英文字母用1個字節,對于中文使用3個字節.對于>127的編碼,高位都為1
GBK 收錄21886字符,編碼方式為用2個字節來標示中、英字符。對于中文,最高位設置成1,包含所有中文
GB2312比GBK包含的漢字要少,6763漢字+682其他字符,編碼方式相同
GBK18030比GBK包含的漢字還要多,27484漢字和其他少數民族文字,編碼方式相同
按照GBK18030、GBK、GB2312的順序,3種編碼是向下兼容,同一個漢字在三個編碼方案中是相同的編碼
2 )python 中的字符和中文處理的一些注意事項
(1)python要安裝相應的編碼庫(比如gbk)之后,才能夠使用這種編碼
(2)python中unicode編碼轉換
decode的作用是將其他編碼的字符串轉換成unicode編碼,如str1.decode('gb2312'),表示將gb2312編碼的字符串轉換成unicode編碼。
encode的作用是將unicode編碼轉換成其他編碼的字符串,如str2.encode('gb2312'),表示將unicode編碼的字符串轉換成gb2312編碼。
unicode(s, "gbk")函數也可以用來
(3)如果文件里有非ASCII字符,需要在第一行或第二行(在第三行就不行)指定編碼聲明
(4)unicode編碼的字符串長度的時候,看到幾個字符,打印出來的長度就是幾
posted on 2009-07-30 13:03
老馬驛站 閱讀(693)
評論(0) 編輯 收藏 引用 所屬分類:
python