目录
-
- 目录
- 编码原理及区别
- 编码与解码
- 爬取中文百度首页
- 第一步:
- 第二步:
- 第三步:
- BeautifulSoup库
- 参考资料
编码原理及区别
- 第一阶段:编码的由来:大家都知道计算机的母语是英语,英语是由26个字母组成的。所以最初的计算机字符编码是通过ASCII来编码的,也是现今最通用的单字节编码系统,使用7位二进制数来表示所有的字母、数字、标点符 及一些特殊控制字符,作为美国编码标准来使用。
-
第二阶段:由于计算机的不断普及,计算机进入了不同的国家和地区。很快表现出了众多的水土不服的症状。比如:中国人就表示不服,就不能让计算机说中文吗是ASCII编码用上浑身解数256个字符也不够中文用啊。
因此后来出现了Unicode编码。Unicode编码通常由两个字节组成,共表示256*256个字符,即所谓的UCS-2。某些生僻的字还会用到四个字节,即UCS-4。Unicode向下兼容ASCII。 -
第三个阶段:在Unicode中,很快,美国人不高兴了,原本用一个字节就够了,现在却要用两个字节来表示,非常浪费存储空间和传输速度。人们再发挥聪明才智,于是出现了UTF-8编码。主要针对空间浪费的问题。UTF-8从英文字母的一个字节,到中文的通常的三个字节,再到某些生僻字的六个字节。解决了空间浪费的问题,并且兼容老大哥ASCII编码。这样一些老古董软件在UTF-8编码中可以继续工作了。
另外需要注意的是汉字在Unicode编码和UTF-8编码中通常是不同的。 -
第四个阶段:同样我们祖国也制定了自己的一套标准。那就是GB2312和GBK。但是大多数还是直接用的UTF-8。UTF-8/UTF-16等是对Unicode进行了编码,是其一种实现方式。
另外还有ISO-8859-1,ISO-8859-1是单字节编码,向下兼容ASCII,是许多欧洲国家使用的编码标准。
Unicode是国际通用的编码标准,可以表示全世界的字符,但其字符集也是最复杂、占用空间最大的。开发者可以根据需要进行选择编码方式。
编码与解码
decode:编码
encode:解码
如下图:
第二步:
这个原因确实弄的我脑壳痛,怎么也找不到原因,各种编码都试过了结果还是不行。后来我想能不能直接输出它的编码方式。于是有了下面的结果。
参考资料
感谢以下资料给了我灵感
寒舟独饮的博客
脚本之家的文章
bw13的博客
火贪三刀的博客
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树 络爬虫urllib208363 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!