日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)編程開發(fā)其它知識(shí) → python編碼問題總結(jié)

      python編碼問題總結(jié)

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2014/2/16 0:55:52字體大。A-A+

      作者:西西點(diǎn)擊:43次評(píng)論:0次標(biāo)簽: python

      《派森》(Python)3.13 win32 英文安裝版
      • 類型:編程工具大。21M語(yǔ)言:英文 評(píng)分:8.7
      • 標(biāo)簽:
      立即下載

      編碼

      Python核心發(fā)布中的代碼必須始終使用ASCII或Latin-1編碼(又名 ISO-8859-1),使用ASCII的文件不必有編碼cookie,Latin-1僅當(dāng)注釋或文檔字符串涉及作者名字需要Latin-1時(shí)才被使用:

      另外使用\x轉(zhuǎn)義字符是在字符串中包含非ASCII(non-ASCII)數(shù)據(jù)的首選方法。

      作為PEP 263實(shí)現(xiàn)代碼的測(cè)試套件的部分文件是個(gè)例外。

      最近利用python抓取一些網(wǎng)上的數(shù)據(jù),遇到了編碼的問題。非常頭痛,總結(jié)一下用到的解決方案。

      linux中vim下查看文件編碼的命令 set fileencoding

      python中一個(gè)強(qiáng)力的編碼檢測(cè)包 chardet ,使用方法非常簡(jiǎn)單。linux下利用pip install chardet實(shí)現(xiàn)簡(jiǎn)單安裝

      1
      2
      3
      4

      importchardet
      f =open('file','r')
      fencoding=chardet.detect(f.read())
      printfencoding

      fencoding輸出格式{'confidence': 0.96630842899499614, 'encoding': 'GB2312'} ,只能判斷是否為某種編碼的概率。比較準(zhǔn)確的結(jié)果了。輸入?yún)?shù)為str類型。

      了解python中str的編碼后可以利用decode和encode來實(shí)現(xiàn)編碼的轉(zhuǎn)換。

      一般流程是str利用decode方法根據(jù)str的編碼將其解碼為unicode字符串類型,然后利用encode根據(jù)特定的編碼將unicode字符串類型轉(zhuǎn)換為特定的編碼。python中str和unicode屬于兩種不同的類型,如下。

      一般情況下window默認(rèn)編碼gbk,linux默認(rèn)編碼utf8

      python編程中系統(tǒng)編碼,python編碼,文件編碼 的概念。

      系統(tǒng)編碼:默認(rèn)寫源碼的編輯器的編碼方式。它代表源碼文件內(nèi)的所有內(nèi)容都是根據(jù)詞方式編碼成二進(jìn)制碼流。存入到磁盤中的。linux下通過locale命令查看。

      python編碼:指python內(nèi)設(shè)置的解碼方式。如果不設(shè)定的話,python默認(rèn)的是ascii解碼方式。如果python源代碼文件中不出現(xiàn)中文的話,這個(gè)地方怎么設(shè)定應(yīng)該不會(huì)問題。

      設(shè)定方法:在源碼文件開頭(一定是第一行):#-*-coding:UTF-8-*-,源碼文件的設(shè)置解碼方式是UTF-8 或者

      1
      2
      3

      importsys
      reload(sys)
      sys.setdefaultencoding('UTF-8')

      文件編碼:文本的編碼方式,linux下vim利用set fileencoding查看。

      一般情況下輸出亂碼的原因就是 沒有按照系統(tǒng)解碼的方式進(jìn)行編碼。

      比如print s, s類型為str,linux系統(tǒng)下系統(tǒng)默認(rèn)編碼為utf8編碼,s在輸出前就應(yīng)該編碼為utf8。如果s為gbk編碼就應(yīng)該這樣輸出。print s.decode('gbk').encode('utf8')才能輸出中文。

      window下面情況相同,window默認(rèn)編碼為gbk編碼,所以s輸出前必須編碼為gbk。

      python處理中一般處理unicode類型。這樣輸出前直接編碼即可。

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)