python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
生活随笔
收集整理的這篇文章主要介紹了
python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
py3里,字符串,str類型,是unicode編碼格式。其他類型都是byte,編碼格式是gbk,utf-8等
而chardet是檢查byte類型的編碼格式的,不是檢查str類型的編碼格式的。
a="abc啊”,是字符串,就不能用chardet了。
當獲取的數據(byte)類型,需要當成字符串來處理,需要先將其編碼成unicode(python處理的都是此編碼)。
而要將bytes轉換成unicode,需要先知道bytes具體是什么編碼格式如gbk,然后使用aa=decode("gbk"),aa為unicode的該數據內容。
如果很不幸,你有一堆bytes,不知道它們的編碼(例如 網站服務器返回的響應體),
這時候,你就需要chardet?來測試它們的編碼。
轉載于:https://www.cnblogs.com/gwj99/p/7575571.html
總結
以上是生活随笔為你收集整理的python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类函数宏
- 下一篇: # 20155337 2017-2018