网站建设的公司在哪找网站做优化需要哪些后台信息
web/
2025/9/27 12:55:57/
文章来源:
网站建设的公司在哪找,网站做优化需要哪些后台信息,网站开放培训,网站设计策划平常还觉得编码问题一般能水过去#xff0c;到爬虫这真是不信抬头看#xff0c;苍天饶过谁...其实#xff0c;Python2和Python3中对于编码已经发生了很大的改变(但其实是更方便了)#xff0c;我们一个个来讨论#xff1a;Python21.在Python2中默认编码为ASCII…平常还觉得编码问题一般能水过去到爬虫这真是不信抬头看苍天饶过谁...其实Python2和Python3中对于编码已经发生了很大的改变(但其实是更方便了)我们一个个来讨论Python21.在Python2中默认编码为ASCII码2.两种字符序列类型str(以默认的ASCII码编码可视为数据传输时的bytes数据类型),Unicode类型3.两种类型的转化方式为Python31.在Python3中默认编码为Unicode2.两种字符类型str(以默认的Unicode编码)bytes数据类型3.两种类型的转化方式为综上我们已经了解完了Python2和Python3之间的编码差异下面来介绍编码的影响以Python3为例(Python2中就把str当做Python3中的bytes吧)#-*- coding:utf-8 -*-from urllib import requestwith request.urlopen(http://www.baidu.com) as url:bytes_web_dataurl.read() #使用url对象的read()方法可以读取到网页的源代码#由于无论是XML还是json数据传输的类型都是以bytes数据类型进行传输print(bytes数据类型下网页源代码为bytes_web_data) #打印结果前有b修饰表示为bytes数据类型不能显示中文字符str_web_databytes_web_databytes_web_data.decode(utf-8) #将bytes按utf-8解码为str(Unicode编码)能显示中文字符print(str数据类型下网页源代码为,str_web_data) #打印结果可显示中文字符了with open(baidu.html,w,encodingutf-8) as file: #以写的方式打开文件file.write(str_web_data) #写文件使用write函数只接受str(Unicode)上述代码是可以顺利运行的且运行结果会生成一个baidu.html文件点击进入百度首页其实从注释中能提取出3个很重要的点1.不论是json还是XML数据在传输时都是以bytes数据类型进行传输的。因此从网页上read()到的东西也是bytes数据类型的2.写文件只接受Unicode编码的在Python3中即str。若将bytes作为参数即file.write(bytes_web_data),则会报错3.windows在存储文件时会把其保存为系统的默认编码由于Windows7下默认编码为GBK所以如果我在open(baidu.html,w)中不加上encodeutf-8则可能会出现下列错误就是因为操作系统默认编码的问题会保存为GBK编码所以有些utf-8下的编码无法解释报错。Ps,查找系统编码的方式打开cmd在命令行模式下输入chcp输出结果为 活动代码页936 则表明为GBK编码剩余编码的对应方式为如果你有耐心看到这里的话差不多已经知道在url上和写文件上的编码的基本知识了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81128.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!