一.前言
零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
Python 到目前为止,一共有两个版本,分别是 2.x 和 3.x 版本,根据官方正式通知 2020 年停止对 Python 2.x更新和维护,所以正在学习Python 3.x的小伙伴应该暗中庆幸一波。
Python2.x 版本默认采用ASCLL编码,Python3.x 版本则默认采用 UTF-8 编码,两者有什么区别呢?
唯一区别就是如果代码或者注释中含有中文,ASCLL 编码会出现乱码,UTF-8编码却可以正常显示中文,即 Python2.x 版本中文显示不正常,Python3.x 版本正常。
二.为什么会出现乱码
编码和解码需要一一对应,把对应的数据编码之后,只有通过对应的方式解码才能得到正确的数据,反之得到的就是错误数据,乱码。
来个比喻 : 隔壁老王设了一个wifi密码:abcdefgh,你想使用老王密码,老王如果不告诉你,你实验100次都弄不出正常密码(杠精说:我用wifi万能钥匙)
三.如何解决乱码
解决乱码很简单,找到与编码正确的方式解码就可以了。我们继续回到 helloword 项目,代码如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:helloworld.py
@Time:2021/3/14 20:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
print("世界你好")
第一行注释是告诉系统,这是一个 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………
五.猜你喜欢
- Python 简介
- Python Pycharm Anacanda 区别
- Python2.x 和 Python3.x,如何选择?
- Python 配置环境
- Python Hello World入门
- Python 代码注释
暂无评论内容