5.python中文编码 - python基础入门

Posted shuopython

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.python中文编码 - python基础入门相关的知识,希望对你有一定的参考价值。

    python到目前为止,一共有两个版本,分别是2.x和3.x版本,根据官方正式通知2020年停止对python更新和维护,距离今天还有110天左右,所以正在学习python的小伙伴应该暗中庆幸一波。

技术图片

 

    python2.x版本默认采用ASCLL编码,python3.x版本则默认采用UTF-8编码,两者有什么区别呢?唯一区别就是如果代码或者注释中含有中文,ASCLL编码会出现乱码,UTF-8却可以正常显示中文,即python2.x版本中文显示不正常,python3.x版本正常。

 

一.为什么会出现乱码

    编码和解码一一对应,把对应的数据编码,只有通过正确的方式解码才能得到对应的数据,反之得到的就是错误数据,乱码。

 

    来个比喻 : 隔壁老王设了一个wifi密码:abcdefgh,你想使用老王密码,老王如果不告诉你,你实验100次都弄不出正常密码(杠精说:我用wifi万能钥匙)

技术图片

 

二.如何解决乱码

    解决乱码很简单,找到与编码正确的方式解码就可以了。我们继续回到helloword项目,代码如下:

    第一行注释是告诉系统,这是一个Python可执行程序,Linux/OS X系统有效,Windows系统会忽略这个注释;

    第二行注释是表示按照UTF-8编码读取源代码,虽然在pycharm中默认UTF-8,该行代码可有可无,如果把py文件放到其他环境编译呢?如果其他环境不是UTF-8,一旦有中文,必然乱码。

    其他代码都是注释的无用代码,可以忽略不计!

 

三.重点总结

    1.如果编码和解码方式不对应,会出现乱码

    2.# -*- coding:utf-8 _*- 写在文件开始位置,默认指定文件编码格式为utf-8

 

    值得注意的是:其实编码也算是头疼的问题,在以后的开发中你必然会遇到很多编解码的坑爹事故,因为字符编码涉及ascll , utf-8 , unicode , gbk , gb18030………

技术图片

 

 

猜你喜欢:

1.pycharm/python /anaconda区别和联系

2.pycharm设置头文件模板

 

转载请注明:猿说Python » python中文编码

 

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
技术图片
猿说python
微信公众号 扫一扫关注

以上是关于5.python中文编码 - python基础入门的主要内容,如果未能解决你的问题,请参考以下文章

基础入门_Python-模块和包.运维开发中chartdet编码检测的最佳实践?

《Python基础知识》轻松入门指南.dox

《Python基础知识》轻松入门指南.dox

Python入门——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化

Python零基础到入门Python预备知识必备篇——Python基本编码规范

Python零基础到入门Python预备知识必备篇——Python基本编码规范