标签:coding 获取 原型 压缩 ext 文件编码 符号 eee encoding
1.获取网站中文乱码在获取网页源码,声明r的编码方式r.encoding
将某个字符从gbk解码为unicode,str.decode(‘gbk‘)
unicodeDecodeError:‘Gbk‘ codec can‘t decode byte in position .....
这是由于混用了多种编码,出现非法字符,可以采用str.decode(‘GBK‘,‘ingore‘)
decode原型:decode([encoding],[error=‘‘strict])
第二个参数:
(1)ingore忽略非法字符,显示有效字符
(2)replace使用符号代替非法字符
(3)xmlcharreplace使用xml字符引用代替非法字符
网页源码使用的utf-8编码,获取的中文部分全部乱码,这是使用了gzip压缩必须先解压,使用r.content会自动解压gzip和deflate传输编码响应数据
chardet.detect(r.content)返回一个字典,编码方式和confidence精确度。
总括:首先使用r.content解压gzip,然后使用charset找到该字符串的编码方式,最后把字符串解码unicode,
对于json文件:
默认unicode处理
如果希望显示中文,
标签:coding 获取 原型 压缩 ext 文件编码 符号 eee encoding
原文地址:http://blog.51cto.com/molujiang/2059679