今天學習了python,作為乙個新手,對python的編碼問題仔細研究了一番,自己的理解如下:
1、python**的檔案是以ascii編碼儲存,所以當python**檔案中有中文時(包括注釋),檔案開頭都要加#coding=utf-8 或#coding=gbk。
2、python內部使用的都是unicode編碼執行,所以當要對中文的字串進行處理的話就要將「步驟1」中的utf-8或者gbk轉化成unicode編碼:decode("utf-8")或decode("gbk")。這樣就可以隨便處理,包括計算中文字串的長度。
3、windows下控制中使用的是gbk,所以要在windows中輸出中文,必須將「步驟2」中的unicode編碼轉化成gbk:encode("gbk") 例1
#coding=gbk
b="中國".decode("gbk")#將gbk轉換成**unicode,可以隨便處理(包括計算字串長度)
print(len(b))
print(b.encode("gbk"))#輸出時將unicode編碼變成gbk編碼輸出
結果是:
中國例2
#coding=utf-8
b="中國".decode("utf-8")#將utf-8轉換成**unicode,可以隨便處理(包括計算字串長度)
print(len(b))
print(b.encode("gbk"))#輸出時將unicode編碼變成gbk編碼輸出
結果是:
中國其中例1,我感覺可以對python中的編碼問題可以通用。
Python 的編碼問題
我在爬取網頁解析的過程中出現了網頁內容解析不了的問題,雖然用記事本開啟是顯示正常的漢字和符號,但用winhex開啟就會出現亂碼的問題 把它放到cmd中也顯示亂碼 這個一般就是編碼問題,這種 編碼應該很可能是 utf 8 能在winhex中正常顯示漢字的應該是gb2312或者gbk編碼,所以用正規表示...
Python的編碼問題
python的編碼問題一般在有中文的情況下會出現。這裡的python檔案在windows環境下執行的。當python檔案不含中文時,無論.py檔案是anic ascii格式還是utf 8格式,在cmd中執行時都能得到正常的結果,但是.py檔案裡含中文時,直接編譯就會出現問題了。這裡主要有兩種情況 1...
python的編碼問題
初學者對編碼問題一定非常頭痛,我開始時也是這樣,所以下 記錄一下到目前我對python編碼問題的理解。首先,python的預設編碼是 ascii 這是表示英文和數字的常用規範編碼。也就是說這個編碼方式下只能表示英文,也就是說一旦出現中文,就會出錯,無法識別。先說一下python的檔案編碼大致處理流程...