python 在eclipse中的中文問題

2022-08-30 20:03:14 字數 1342 閱讀 4835

編碼環境改成utf-8後,檔案路徑「f:\kuaipan\zhid_\datper\daa file」要改成「f:kuaipan/zhid_/datper/daa file」

%d6%aa%b5%c0%b9%b1%cf%d7%d5%df0799 這種%加十六進製制是"url編碼",需要通過urllib2模組的unquote來解碼成原來的編碼形式(可能是gbk,utf-8,gb2312)一下是引用:

而電玩巴士用的utf-8格式,乙個中文字元轉為%xx%xx%xx,共三組

需要將中文轉成url編碼,只需要使用python提供的urllib庫就可以。

>>>import sys,urllib

>>>s = "空之境界"

>>>print s

空之境界

>>> urllib.quote(s)

'%bf%d5%d6%ae%be%b3%bd%e7'    ---->請注意,原作者這裡輸出的是utf-8格式,而我卻是gbk

所以,為了保證按照指定的格式輸出,呼叫sys庫下面提供的函式

>>>s_utf=s.decode(sys.stdin.encoding).encode("utf-8")    # 若想要gbk格式則把這行裡的"utf-8"換成"gbk"

>>> print s_utf

絀轟箣澧冪晫         # 嗯……竟然是亂碼,不過這個不用管它~

>>> urllib.quote(s_utf)

'%e7%a9%ba%e4%b9%8b%e5%a2%83%e7%95%8c'     # 數一數,正好十二組,也就是四個漢字

至於與quote方法相對應的,則是unquote方法,作用是還原被quote函式轉碼過的字串。

>>>urllib.unquote(urllib.quote(s)) ---->出來的結果是s字串本身

唯一需要在意的是這句:

s.decode(sys.stdin.encoding).encode("utf-8")  

將乙個字串s先使用系統標準編碼方式進行解碼,再將其結果重新編碼為指定的格式。在我自己的系統上,sys.stdin.encoding就等於"gbk"

python的chardet模組可以判斷字元編碼。

程式舉例:

import urllib2,sys,chardet

print chardet.detect('%d6%aa%b5%c0%b9%b1%cf%d7%d5%df0799')

u=urllib2.unquote('%d6%aa%b5%c0%b9%b1%cf%d7%d5%df0799').decode('gb2312')

print chardet.detect(u)

print u

輸出:知道貢獻者0799

在Eclipse中配置tomcat

網上的那麼多配置文章,唉,不說啥了。看看我的配置步驟吧。eclipse sdk version 3.4.2 build id m20090211 1700 安裝完了,解除安裝tomcat,重新安裝,jre的部分制定成jre1.5,安裝完了後,服務啟動tomcat,瀏覽器輸入,http localho...

在Eclipse中安裝JAD外掛程式

下面介紹如何在 eclipse 中安裝jad 外掛程式,這樣在 eclipse 下可以十分方便地檢視 class 檔案的反編譯源 jad在eclipse 上的外掛程式名稱叫做 jadclipse 具體可以從 jar 檔案,在 eclipse 下的安裝和配置方法如下 以下操作在 eclipse 最新版...

在Eclipse中建立Django專案

在以前的分享中,我們是在命令列模式下建立django專案的,那麼,如何在ide中使用django呢?本文將介紹如何在eclipse中建立django專案。首先,新建django專案mysite,如下圖 注意上圖中的劃紅線部分,應該選擇 add project directory to the pyt...