当前位置: 首页 > news >正文

金山区网站制作wordpress如何关注博客

金山区网站制作,wordpress如何关注博客,免费建设电影网站,网页制作全过程视频因为中文的特殊编码#xff0c;导致 Python2 和 Python3 使用过程中的各种编码问题#xff0c;如果不清楚其中的关联关系#xff0c;那么这就一直是个大坑#xff0c;不是懵逼就还是懵逼#xff0c;所以就目前碰到的情况彻底梳理下 Python2 和 Python3 中编码的关系和区别…因为中文的特殊编码导致 Python2 和 Python3 使用过程中的各种编码问题如果不清楚其中的关联关系那么这就一直是个大坑不是懵逼就还是懵逼所以就目前碰到的情况彻底梳理下 Python2 和 Python3 中编码的关系和区别以作备忘。 先说下涉及编码格式的几个地方脚本字符编码就是经常在脚本文件开头看到的# -*- coding: utf-8 -*-如果使用 Python2没有显式声明的话默认使用 ASCII 格式Python3 默认使用 utf-8 格式 解释器字符编码可以通过函数sys.getdefaultencoding()查看Python2 默认是 ASCIIPython3 默认使用 utf-8 脚本文件存储编码就是 py 脚本文件本身在物理介质上面的存储格式通常有 ASCII、GBK、utf-8 等格式。 下面我们把上述编码分别在脚本中进行组合使用后再使用 Python2.6 和 Python3.4 运行看看实际都什么效果。 1.默认脚本文件编码 文件存储使用 gbk 脚本内容importsys print(sys.getdefaultencoding()) print(中文) 使用 Python2.6 运行的结果如下提示gbk 编码字符\xd6非 ASCII 字符 python26 test_gbk.py Filetest_gbk.py, line4SyntaxError: Non-ASCII character\xd6infile test_gbk.py on line4, but no encoding declared; see http://www.python.org/peps/pep-0263.htmlfordetails 使用 Python3.4 运行的结果如下提示gbk 编码字符\xd6非 utf-8 字符 python26 test_gbk.py Filetest_gbk.py, line4SyntaxError: Non-UTF-8code startingwith\xd6infile test_gbk.py on line4, but no encoding declared; see http://python.org/dev/peps/pep-0263/fordetails 结论默认的 gbk 编码中文Python2的解释器字符编码(ASCII)和 Python3的解释器字符编码(utf-8)格式都没法识别因为 ASCII 编码不包含中文而 utf-8 是 3 字节编码gbk 是 2 字节编码所以都识别不了了。 2.脚本文件编码 gbk 文件存储使用 gbk 在刚才的脚本头部显式声明脚本文件编码格式为 gbk#coding:gbkimportsys print(sys.getdefaultencoding()) print(中文) 使用 Python2.6 运行的结果 python26 test_gbk.py ascii 中文 使用 Python3.4 运行的结果 python34 test_gbk.py utf-8中文 结论文件使用的 gbk 格式存储同时显式声明了脚本文件编码为 gbkPython2 和 Python3 都可以正常处理。 3.脚本文件编码 utf-8 文件存储使用 gbk 在刚才的脚本头部显式声明脚本文件编码格式为 utf-8# -*- coding: utf-8 -*-importsys print(sys.getdefaultencoding()) print(中文) 使用 Python2.6 运行的结果正常 python26 test_gbk.py ascii 中文 使用 Python3.4 运行的结果如下提示尝试使用 utf-8 解码字符0xd6时异常 python34 test_gbk.py Filetest_gbk.py, line6SyntaxError: (unicode error)utf-8codec cant decode byte 0xd6 in position 0: invalid continuation byte 结论文件使用的 gbk 格式存储同时显式声明了脚本文件编码为 utf-8时但是 Python2 在 Windows 平台还是使用 gbk 进行输出所以解析正常而 Python3 使用 utf-8 所以解析异常。 4.默认脚本文件编码 文件存储使用 utf-8 去掉之前脚本头部的声明然后使用 utf-8 格式存储文件(注意不能在刚才的文件基础上强制修改存储编码强制转换会出现中文乱码的问题建议先新建一个 utf-8 格式的文件然后再输入中文)importsys print(sys.getdefaultencoding()) print(中文) 使用 Python2.6 运行的结果如下ASCII 也识别不了 utf-8 格式的字符\xe4 python26 test.py Filetest.py, line4SyntaxError: Non-ASCII character\xe4infile test.py on line4, but no encoding declared; see http://www.python.org/peps/pep-0263.htmlfordetails 使用 Python3.4 运行的结果可以正常识别因为 Python3 默认使用 utf-8 编码 python34 test.py utf-8中文 结论默认的 utf-8 编码中文Python2 会默认使用 ASCII 读取所以没法识别Python3 可以正常识别。 5.脚本文件编码 gbk 文件存储使用 utf-8 脚本头部显式声明脚本文件编码格式为 gbk同时使用 utf-8 格式存储文件#coding:gbkimportsys print(sys.getdefaultencoding()) print(中文) 使用 Python2.6 运行的结果如下使用 gbk 根本读取不了 utf-8 格式任何内容 python26 test.py Filetest.py, line6SyntaxError:gbkcodec cant decode bytes in position 9-10: illegal multibyte sequence 使用 Python3.4 运行的结果如下其实和上面错误一样但是提示更直接了 python34 test.py Filetest.py, line1SyntaxError: encoding problem: gbk 结论默认的 utf-8 编码中文如果显式指定使用 gbk 读取Python2 和 Python3 都没法做到。 6.脚本文件编码 utf-8 文件存储使用 utf-8 脚本头部显式声明脚本文件编码格式为 utf-8同时使用 utf-8 格式存储文件# -*- coding: utf-8 -*-importsys print(sys.getdefaultencoding()) print(中文) 使用 Python2.6 运行的结果如下虽然读取正确了但是 Python2 在 Windows 系统会默认使用 gbk 对中文进行解码所以输出乱码 python26 test.py ascii 涓枃 使用 Python3.4 运行的结果正常 python34 test.py utf-8中文 结论虽然文件存储编码和脚本文件编码都是 utf-8但是 Windows 平台上Python2 会按 gbk 解析中文所以会输出乱码可以在中文前面加 u 来解决u中文或者显式使用 utf-8 进行一次 decode。 汇总下验证结果可以得到如下的表格不同组合下 Python3 和 Python2 处理结果Python3Python2默认脚本文件编码 文件存储使用 gbkSyntaxError解析错误SyntaxError解析错误 脚本文件编码 gbk 文件存储使用 gbk正常输出中文正常输出中文 脚本文件编码 utf-8 文件存储使用 gbkSyntaxError解析错误正常输出中文 默认脚本文件编码 文件存储 utf-8正常输出中文SyntaxError解析错误 脚本文件编码 gbk 文件存储使用 utf-8SyntaxError解析错误SyntaxError编码错误 脚本文件编码 utf-8 文件存储使用 utf-8正常输出中文中文输出乱码 总结下结论如果使用 Python2 请一定要使用 gbk 格式存储文件 如果使用 Python2 尽可能使用 gbk 存储文件且显式声明脚本文件编码为 gbk方便后续兼容 Python3 如果使用 Python3 不管使用什么格式存储文件但请一定保证显式声明脚本文件编码和存储格式一致 不管是使用 Python2 还是 Python3保持显式声明脚本文件编码的好习惯 如果脚本有跨平台需求推荐使用 Python3 脚本文件编码 utf-8 utf-8 格式存储文件的组合 ​
http://www.zqtcl.cn/news/592921/

相关文章:

  • 莱阳网站建设公司彩票类网站是如何做代理的
  • 食品公司网站建设广州做网站制作公司
  • 网站上传服务器教程搜索网站存在的关键字
  • 天河建设网站多少钱网络公司网站样本
  • 做的精美的门户网站推荐附近编程培训机构
  • 台州黄岩做网站太原网站建设王道下拉惠
  • 深圳设计网站公司互联网服务平台投诉中心
  • 做seo网站优化哪家强济南网站建设公司排名
  • tp5网站文档归档怎么做手机虚拟机哪个好用
  • 网站建设公司的业务范围万网做网站多少钱
  • 做网站要用写接口6wordpress 汽车租赁
  • 网站开发方向paypal账号注册
  • 如何选择做pc端网站重庆平台网站建设企业
  • 一个人做网站好累电子商城采购流程
  • 网站制作维护价格信息网站建设方案
  • 如何选择建网站公司能看人与动物做的网站
  • 温州网站建设方案外包不能访问子目录的网站
  • 建设拼多多一样网站需要多少钱wordpress企业站主题免费
  • 无锡网站制作哪家公司好做微信文章的网站
  • 网站 制作信产部网站备案
  • 做流程图表的网站网络营销推广网站收录
  • iis5.1怎么新建网站电子商务网站建设与管理实训内容答案
  • 做网站背景步骤知名的vi设计公司
  • 中国室内设计师联盟网站我注册过的网站
  • 如何给自己的公司做网站网站设计电商首页
  • 成都网站开发培训综合网站开发实训总结
  • 个人备案网站名称文学网站开发
  • 花钱做推广广告哪个网站好泗洪网页设计
  • 望牛墩镇网站建设公司网站建设企业熊掌号
  • 做网站一般会出现的问题静态网站的好处就是安全性好从而