1樓:匿名使用者
專門花了一下午,總結了python 2.x中,常見的編碼解碼方面的錯誤。
更主要的是,先給你解釋清楚了背後的邏輯
然後再給你解釋,錯誤的現象,現象背後的原因,以及如何解決,並且教你如何舉一反三等等。
此處只把幾種最常見的問題的原因給你摘錄過來:
python中,想要將某字串解碼為對應的unicode,但是所使用的編碼型別和字串本身的編碼不匹配
python中,列印字串時,字串本身的編碼,與輸出終端中所用編碼不匹配
python中,列印含某些特殊字元的unicode型別字串,但是輸出終端中字元編碼集中不包含這些特殊字元
詳細帖子內容,參見:
【總結】python 2.x中常見字元編碼和解碼方面的錯誤及其解決辦法
不能說我總結的是最全的,但是可以說,在這個特定問題上,比我把問題解釋的更清楚的,目前沒看到。
另外,還有一個相關的帖子:
【整理】python中字元編碼的總結和對比:python 2.x的str和unicode vs python 3.x的bytes和str
關於這部分內容,之前也是沒有看到解釋的清楚的,所以自己花時間,把其解釋的儘可能的清楚。不瞭解的人,可以去看看。
(此處不能貼地址,請自行用google搜帖子標題,就可以找到帖子地址了)
2樓:
gdk或utf-8,還能什麼原因,你不加這段,python無法識別中文,所以就報錯
3樓:小米飛貓
開頭添上針對不同平臺的中文編碼。
一般linux下用
# -*- coding: utf-8 -*-windows下gbk
# -*- coding: gbk -*-
4樓:love戕
這個我不知道,不好意思
在python中,同一程式的輸出,為什麼有的中文是亂碼,有的卻可以很好的顯示?
5樓:牛乃茴
在有中文的字串前加上u,譬如這裡用到print u' '.
是中文編碼的問題。建議在idle中加入#coding:utf-8 顯式指定編碼,若是抓取網頁,可以按需求encode() decode()
6樓:丶小四灬灬
#!/usr/bin/env python # -*- coding: utf-8 -*-
在檔案頭加上
您好 python用open開啟檔案 其中路徑有中文應該怎麼解決 自己搞不太明白 謝謝大神了:)
7樓:匿名使用者
指令碼開頭加上下面這句:
# -*- coding: utf-8 -*-這句用於定義python的預設編碼格
式。若**或註釋中含中文,
版python會使用unicode編碼格式,這樣權會報錯。
所以,python程式設計時最好習慣性地加上這句編碼格式的宣告。
8樓:匿名使用者
最傻瓜的,你新建個專用來寫**的英文資料夾不就好了。
python中使用esaygui模組出錯
沒用過這個模組,不過你可以使用help easygui 看看它支援的方法和屬性 應該是新版本的輸入問題 無法使用python的easygui模組?沒放對位置,python資料夾裡的檔案很多的,你隨便放也找不到,我記得我是放在第二排第一個問價夾的位置的 python easygui模組的問題 如果確保...
python中關於正則內的b,為什麼使用b時需要用r b,但是w則不需要??求解答
b在正則中表示單詞間隔。但由於 b在字串裡本身是個轉義,代表退格。r是得到字元本身。也就是說 b這兩個字元。因為 b 有兩種解釋,而 w 只有一種。b的兩種解釋是 b 如果前面不加r,那麼直譯器認為是轉義字元 退格鍵backspace r b 如果前面加r,那麼直譯器不會進行轉義,b 解釋為正規表示...
python中多程序協程的使用以及為什麼要用它
python裡推薦用多程序而不是多執行緒,但是多程序也有其自己的限制 相比執行緒更加笨重 切換耗時更長,並且在python的多程序下,程序數量不推薦超過cpu核心數 一個程序只有一個gil,所以一個程序只能跑滿一個cpu 因為一個程序佔用一個cpu時能充分利用機器的效能,但是程序多了就會出現頻繁的程...