自动检测字符串类型并进行decode
当不清楚字符串是什么类型的时候,比如html,此时可以使用chardet
模块来进行识别
import chardet #需要导入这个模块,检测编码格式
encode_type = chardet.detect(html)
html = html.decode(encode_type['encoding']) #进行相应解码,赋给原标识符(变量)
从str到bytes:调用方法encode().
编码是把Unicode字符串以各种方式编码成为机器能读懂的ASCII字符串
从bytes到str:调用方法decode().
UnicodeDecodeError
当出现UnicodeDecodeError: 'gbk' codec can't decode byte ...
,原因是文档中的特殊符号超过了gbk的字符集。
所以要么使用更广的gb18030
要么忽略:
open(path, encoding='gb18030') # 更广的字符集
open(path, encoding='gb18030', errors='ignore') # 更广的字符集,并且错误的忽略
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 365433079@qq.com