轉:urllib.request.urlopen字元編碼報錯

來源:互聯網
上載者:User

標籤:編碼   自身   ror   rac   cte   預設   方法   urlopen   tar   

錯誤內容:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 28-29: ordinal not in range(128)

1.以為是代碼錯誤,檢查tab符,並沒有問題,

2.將代碼粘貼到空白項目中去,發現還是不對。

3.百度:http://blog.csdn.net/olanlanxiari/article/details/48201231

  1.Python在安裝時,預設的編碼是ascii,當程式中出現非ascii編碼時,python的處理常常會報這樣的錯UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x?? in position 1: ordinal not in range(128),python沒辦法處理非ascii編碼的,此時需要自己設定將python的預設編碼,一般設定為utf8的編碼格式。

  2.將上面問題自身檢查,我這不存在這種問題,所以繼續百度

  3.發現python3 urlopen()連結地址不能出現中文,,那麼有中文怎麼辦?

    a.辦法總是有的:替換

    b.將中文內容通過quote方法替換

       from urllib.parse import quote

       quote(url)

       quote(url,safe=‘/:?=‘)  

    c.quote可用的參數如下:

      quote(string,safe=‘/‘,encoding=None,errors=None)

      reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

轉:urllib.request.urlopen字元編碼報錯

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.