最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python UnicodeEncodeError: 'gbk' codec can't encode character 解決方法

 更新時間:2015年04月24日 11:18:20   投稿:junjie  
這篇文章主要介紹了Python UnicodeEncodeError: 'gbk' codec can't encode character 解決方法,需要的朋友可以參考下

使用Python寫文件的時候,或者將網(wǎng)絡(luò)數(shù)據(jù)流寫入到本地文件的時候,大部分情況下會遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 這個問題。 網(wǎng)絡(luò)上有很多類似的文件講述如何解決這個問題,但是無非就是encode,decode相關(guān)的,這是導(dǎo)致該問題出現(xiàn)的真正原因嗎?不是的。 很多時候,我們使用了decode和encode,試遍了各種編碼,utf8,utf-8,gbk,gb2312等等,該有的編碼都試遍了,可是編譯的時候仍然出現(xiàn): UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position XXX。 崩潰了。

    在windows下面編寫python腳本,編碼問題很嚴(yán)重。

    將網(wǎng)絡(luò)數(shù)據(jù)流寫入文件時時,我們會遇到幾個編碼:

    1: #encoding='XXX' 這里(也就是python文件第一行的內(nèi)容)的編碼是指該python腳本文件本身的編碼,無關(guān)緊要。只要XXX和文件本身的編碼相同就行了。 比如notepad++ "格式"菜單里面里可以設(shè)置各種編碼,這時需要保證該菜單里設(shè)置的編碼和encoding XXX相同就行了,不同的話會報(bào)錯

    2:網(wǎng)絡(luò)數(shù)據(jù)流的編碼 比如獲取網(wǎng)頁,那么網(wǎng)絡(luò)數(shù)據(jù)流的編碼就是網(wǎng)頁的編碼。需要使用decode解碼成unicode編碼。

    3:目標(biāo)文件的編碼 要將網(wǎng)絡(luò)數(shù)據(jù)流的編碼寫入到新文件,那么我么需要指定新文件的編碼。寫文件代碼如:

復(fù)制代碼 代碼如下:

f.write(txt) 

,那么txt是一個字符串,它是通過decode解碼過的字符串。關(guān)鍵點(diǎn)就要來了:目標(biāo)文件的編碼是導(dǎo)致標(biāo)題所指問題的罪魁禍?zhǔn)?。如果我們打開一個文件:
復(fù)制代碼 代碼如下:

f = open("out.html","w") 

,在windows下面,新文件的默認(rèn)編碼是gbk,這樣的話,python解釋器會用gbk編碼去解析我們的網(wǎng)絡(luò)數(shù)據(jù)流txt,然而txt此時已經(jīng)是decode過的unicode編碼,這樣的話就會導(dǎo)致解析不了,出現(xiàn)上述問題。 解決的辦法就是,改變目標(biāo)文件的編碼:
復(fù)制代碼 代碼如下:

f = open("out.html","w",encoding='utf-8') 

。這樣,問題將不復(fù)存在。

相關(guān)文章

  • Windows下anaconda安裝第三方包的方法小結(jié)(tensorflow、gensim為例)

    Windows下anaconda安裝第三方包的方法小結(jié)(tensorflow、gensim為例)

    conda的設(shè)計(jì)理念——conda將幾乎所有的工具、第三方包都當(dāng)做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環(huán)境管理的約束,能非常方便地安裝各種版本python、各種package并方便地切換
    2018-04-04
  • Python 的 sum() Pythonic 的求和方法詳細(xì)

    Python 的 sum() Pythonic 的求和方法詳細(xì)

    Python 的內(nèi)置函數(shù)sum()是一種對數(shù)值列表求和的有效且Pythonic 的方法。將多個數(shù)字相加是許多計(jì)算中常見的中間步驟,因此sum()對于 Python 程序員來說是一個非常方便的工具。下面文章就讓我們一起來看具體內(nèi)容吧
    2021-10-10
  • python中統(tǒng)計(jì)相同字符的個數(shù)方法實(shí)例

    python中統(tǒng)計(jì)相同字符的個數(shù)方法實(shí)例

    我們在開發(fā)中經(jīng)常需要統(tǒng)計(jì)某個字符或字符串出現(xiàn)的次數(shù),下面這篇文章主要給大家介紹了關(guān)于python中統(tǒng)計(jì)相同字符的個數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • python識別圍棋定位棋盤位置

    python識別圍棋定位棋盤位置

    最近需要做一個圍棋識別的項(xiàng)目,本文就介紹了棋盤位置定位,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Python讀取Excel的方法實(shí)例分析

    Python讀取Excel的方法實(shí)例分析

    這篇文章主要介紹了Python讀取Excel的方法,實(shí)例分析了Python操作Excel文件的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Pytorch 中net.train 和 net.eval的使用說明

    Pytorch 中net.train 和 net.eval的使用說明

    這篇文章主要介紹了Pytorch 中net.train 和 net.eval的使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 詳解mac python+selenium+Chrome 簡單案例

    詳解mac python+selenium+Chrome 簡單案例

    這篇文章主要介紹了詳解mac python+selenium+Chrome 簡單案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 用python做游戲的細(xì)節(jié)詳解

    用python做游戲的細(xì)節(jié)詳解

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python做游戲的細(xì)節(jié)相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。
    2019-06-06
  • python實(shí)現(xiàn)apahce網(wǎng)站日志分析示例

    python實(shí)現(xiàn)apahce網(wǎng)站日志分析示例

    這篇文章主要介紹了python實(shí)現(xiàn)apahce網(wǎng)站日志分析示例,需要的朋友可以參考下
    2014-04-04
  • Python摳圖教程之使用OpenCV實(shí)現(xiàn)背景去除

    Python摳圖教程之使用OpenCV實(shí)現(xiàn)背景去除

    這篇文章主要給大家介紹了關(guān)于Python摳圖教程之使用OpenCV實(shí)現(xiàn)背景去除的相關(guān)資料,背景去除是在很多視覺應(yīng)用里的主要預(yù)處理步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10

最新評論

塔河县| 兰坪| 乡城县| 新沂市| 天门市| 通海县| 邹城市| 康乐县| 民勤县| 应用必备| 万州区| 西贡区| 宝坻区| 磴口县| 新巴尔虎左旗| 苗栗市| 化隆| 喀什市| 南华县| 乌恰县| 孟村| 武强县| 新晃| 聂荣县| 东安县| 灌阳县| 枞阳县| 娱乐| 安顺市| 开化县| 罗定市| 松原市| 竹北市| 新乡县| 繁峙县| 锦屏县| 四川省| 多伦县| 江永县| 民丰县| 响水县|