网络爬虫python,python显示乱码_python2显示乱码问题实战详解

 2023-09-21 阅读 30 评论 0

摘要:python中经常有显示乱码字符问题,类似这样:。查看json.dumps数据,是这样的:"\u00e4\u00b8\u00ad\u00e5\u009b\u00bd"。这是什么原因造成的呢?我们来一探究竟。既然能显示乱码,说明原始编码和显示编码是相互可以映射到字符的

python中经常有显示乱码字符问题,类似这样:中å½。查看json.dumps数据,是这样的:"\u00e4\u00b8\u00ad\u00e5\u009b\u00bd"。

这是什么原因造成的呢?我们来一探究竟。

既然能显示乱码,说明原始编码和显示编码是相互可以映射到字符的,只是不是预期的字符,所以看到这样的乱码字符。

网络爬虫python?从内部编码来看,这个编码的值是单字节的,所以可以排除是ASCII与UTF8之间的乱码。

根据经验判断,这个有可能是ASCII、GBK(国标码)、ISO-8859-1(西文编码)之间的错乱。西文编码是很常用的一种编码格式。

我们来复现这个乱码出现的过程。

我们测试一下GBK解码到西文编码:#coding:utf-8

php和python。import json

import base64

a = '中国'

b = a.decode('iso-8859-1')

python3、print b

c = json.dumps(b)

print c

输出结果:中å½

python为什么叫爬虫?"\u00e4\u00b8\u00ad\u00e5\u009b\u00bd"和我们开始提到的现象是一致的。这当然不是巧合,因为这是我已经研究过的,只是复现一遍而已。

不过,复盘来看,这个排查思路应该是这样的。

那么为什么会这样呢?

'中国'这个是在python2中是str类型,是字节序列类型。字节序列映射到本机的字符集,就是GBK编码。

GBK编码与西文编码有重叠的范围,具体重叠多少没有细究。

至少,在我测试过很多的汉字里,都有编码对应。

也就是说,同

请微信扫码阅读。

为防止恶意爬虫,

已开启反爬机制,

理解哟~~~~

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/81575.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息