1
wdg8106 2016-03-07 11:41:24 +08:00
python 里面有个 chardet 模块,用来处理编码的问题很好用,
比如 : a = b'haha',调用 chardet.detect(a),就可以输出: {'confidence': 1.0, 'encoding': 'ascii'} 就可以清楚地看到是什么编码的了 |
2
WangYanjie 2016-03-07 11:56:08 +08:00
|
3
crayonyi 2016-03-07 12:00:53 +08:00
使用 requests 的时候,注意 2 点,基本可以解决大部分的编码问题:
1. 设置编码为 apparent_encoding ``` rsp = requests.get(url) rsp.encoding = rsp.apparent_encoding ``` 2. 返回使用 text , 而不是 content 或者 body ``` result = rsp.text ``` |
4
crayonyi 2016-03-07 12:05:14 +08:00
因为在 python 中都是采用 unicode 编码的,所以如果想存储到数据库、 redis 、文本文件中,需要先转成 utf-8 存储。通用的方法是:存储前先 josn.dumps()处理成字符串 , 取数据的时候,取出用 json.loads()处理一下就 ok
|