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中使用logging模組在控制台列印日誌的同時也
苟讀生活 loggin模組需要進行很多封裝才好用,你這種情況應該是初始化有問題,給你貼一段 你自己照抄下來用用試試。coding utf8 import os import logging class logger object summary 日誌處理物件,對logging的封裝 def init...
如何在Python中使用break跳出多層迴圈
神速小羊 盡然你知道break是跳出一個小的迴圈那你應該也知道continue是結束當前執行的最大的迴圈,所以你可以把你想跳出的一些小的迴圈放在一個大的迴圈中然後使用continue 或者你可以把這些小的迴圈放在一個大的while迴圈語句中,然後自己在設定一下while裡面的控制條件以及需要重新設定...
如何在Python中使用break跳出多層迴圈
黑馬程式設計師 python中的break語句用法,常用在滿足某個條件,需要立刻退出當前迴圈時 跳出迴圈 break語句可以用在for迴圈和while迴圈語句中。簡單的說,break語句是會立即退出迴圈,在其後邊的迴圈 不會被執行。break語句的用法 x 1 while true x 1 prin...