欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用chardet判斷字符串編碼的方法

 更新時間:2015年03月13日 10:24:18   作者:liuli  
這篇文章主要介紹了python使用chardet判斷字符串編碼的方法,涉及Python編碼的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了python使用chardet判斷字符串編碼的方法。分享給大家供大家參考。具體分析如下:

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

linux中vim下查看文件編碼的命令 set fileencoding
python中一個強力的編碼檢測包 chardet ,使用方法非常簡單。linux下利用pip install chardet實現(xiàn)簡單安裝

import chardet
f = open('file','r')
fencoding=chardet.detect(f.read())
print fencoding

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

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

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

一般情況下window默認編碼gbk,linux默認編碼utf8
python編程中 系統(tǒng)編碼,python編碼,文件編碼 的概念。

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

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

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

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

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

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

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

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

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

希望本文所述對大家的Python程序設計有所幫助。

相關文章

  • Pandas reindex重置索引的使用

    Pandas reindex重置索引的使用

    本文主要介紹了Pandas reindex重置索引的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • 淺談Django的緩存機制

    淺談Django的緩存機制

    這篇文章主要介紹了淺談Django的緩存機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Python3基本輸入與輸出操作實例分析

    Python3基本輸入與輸出操作實例分析

    這篇文章主要介紹了Python3基本輸入與輸出操作,結合實例形式分析了Python3輸入輸出基本語法、編碼轉換、注釋及中文編碼相關使用技巧,需要的朋友可以參考下
    2020-02-02
  • PyCharm之如何設置自動換行問題

    PyCharm之如何設置自動換行問題

    這篇文章主要介紹了PyCharm之如何設置自動換行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python pytest進階之fixture詳解

    python pytest進階之fixture詳解

    這篇文章主要介紹了python pytest進階之fixture詳解,學pytest就不得不說fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一樣,如果不學fixture那么使用pytest和使用unittest是沒什么區(qū)別的,需要的朋友可以參考下
    2019-06-06
  • Keras在mnist上的CNN實踐,并且自定義loss函數(shù)曲線圖操作

    Keras在mnist上的CNN實踐,并且自定義loss函數(shù)曲線圖操作

    這篇文章主要介紹了Keras在mnist上的CNN實踐,并且自定義loss函數(shù)曲線圖操作,具有很好的參考價值,希望對大家有所幫助。
    2021-05-05
  • pytorch?tensor按廣播賦值scatter_函數(shù)的用法

    pytorch?tensor按廣播賦值scatter_函數(shù)的用法

    這篇文章主要介紹了pytorch?tensor按廣播賦值scatter_函數(shù)的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • tensorflow實現(xiàn)讀取模型中保存的值 tf.train.NewCheckpointReader

    tensorflow實現(xiàn)讀取模型中保存的值 tf.train.NewCheckpointReader

    今天小編就為大家分享一篇tensorflow實現(xiàn)讀取模型中保存的值 tf.train.NewCheckpointReader,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 對Python 多線程統(tǒng)計所有csv文件的行數(shù)方法詳解

    對Python 多線程統(tǒng)計所有csv文件的行數(shù)方法詳解

    今天小編就為大家分享一篇對Python 多線程統(tǒng)計所有csv文件的行數(shù)方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python3基礎之list列表實例解析

    Python3基礎之list列表實例解析

    這篇文章主要介紹了Python3的list列表用法,這是Python3數(shù)據(jù)類型中非常常見的應用,需要的朋友可以參考下
    2014-08-08

最新評論