當(dāng)前位置:
首頁 >
python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
發(fā)布時(shí)間:2025/3/21
59
豆豆
生活随笔
收集整理的這篇文章主要介紹了
python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
py3里,字符串,str類型,是unicode編碼格式。其他類型都是byte,編碼格式是gbk,utf-8等
而chardet是檢查byte類型的編碼格式的,不是檢查str類型的編碼格式的。
a="abc啊”,是字符串,就不能用chardet了。
當(dāng)獲取的數(shù)據(jù)(byte)類型,需要當(dāng)成字符串來處理,需要先將其編碼成unicode(python處理的都是此編碼)。
而要將bytes轉(zhuǎn)換成unicode,需要先知道bytes具體是什么編碼格式如gbk,然后使用aa=decode("gbk"),aa為unicode的該數(shù)據(jù)內(nèi)容。
如果很不幸,你有一堆bytes,不知道它們的編碼(例如 網(wǎng)站服務(wù)器返回的響應(yīng)體),
這時(shí)候,你就需要chardet?來測試它們的編碼。
轉(zhuǎn)載于:https://www.cnblogs.com/gwj99/p/7575571.html
總結(jié)
以上是生活随笔為你收集整理的python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类函数宏
- 下一篇: python库学习笔记——分组计算利器: