目錄
一.前言
零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門
Python 到目前為止畅买,一共有兩個版本,分別是 2.x 和 3.x 版本谷羞,根據官方正式通知 2020 年停止對 Python 2.x 更新和維護,所以正在學習 Python 3.x 的小伙伴應該暗中慶幸一波犀填。
Python2.x 版本默認采用 ASCLL 編碼九巡,Python3.x 版本則默認采用 UTF-8 編碼蹂季,兩者有什么區(qū)別呢?
唯一區(qū)別就是如果代碼或者注釋中含有中文偿洁,ASCLL 編碼會出現亂碼,UTF-8 編碼卻可以正常顯示中文睬辐,即 Python2.x 版本中文顯示不正常宾肺,Python3.x 版本正常。
二.為什么會出現亂碼
編碼和解碼需要一一對應瓣喊,把對應的數據編碼之后黔酥,只有通過對應的方式解碼才能得到正確的數據洪橘,反之得到的就是錯誤數據,亂碼渣玲。
來個比喻 : 隔壁老王設了一個 wifi 密碼:abcdefgh弟晚,你想使用老王密碼逾苫,老王如果不告訴你枚钓,你實驗 100 次都弄不出正常密碼(杠精說:我用 wifi 萬能鑰匙)
三.如何解決亂碼
解決亂碼很簡單,找到與編碼正確的方式解碼就可以了星掰。我們繼續(xù)回到 helloword 項目嫩舟,代碼如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:helloworld.py
@Time:2021/3/14 20:37
@Motto:不積跬步無以至千里,不積小流無以成江海播玖,程序人生的精彩需要堅持不懈地積累像街!
"""
print("世界你好")
第一行注釋是告訴系統(tǒng),這是一個 Python 可執(zhí)行程序脓斩,Linux/OS X 系統(tǒng)有效畴栖,Windows 系統(tǒng)會忽略這個注釋;
第二行注釋是表示按照 UTF-8 編碼讀取源代碼吗讶,雖然在 Pycharm 中默認 UTF-8照皆,該行代碼可有可無,如果把 py 文件放到其他環(huán)境編譯呢膜毁?如果其他環(huán)境不是 UTF-8,一旦有中文候醒,必然亂碼杂瘸。
其他代碼都是注釋的無用代碼,可以忽略不計敌土!
四.重點總結
- 1.如果編碼和解碼方式不對應,會出現亂碼
- ** 2.# -_- coding:utf-8 __- 寫在文件開始位置谦疾,默認指定文件編碼格式為 utf-8**
值得注意的是:其實編碼也算是頭疼的問題犬金,在以后的開發(fā)中你必然會遇到很多編解碼的坑爹事故,因為字符編碼涉及 ascll , utf-8 , unicode , gbk , gb18030………
五.猜你喜歡
- Python 簡介
- Python Pycharm Anacanda 區(qū)別
- Python2.x 和 Python3.x峰伙,如何選擇该默?
- Python 配置環(huán)境
- Python Hello World 入門
- Python 代碼注釋
未經允許不得轉載:猿說編程 ? Python 中文編碼
本文由博客 - 猿說編程 猿說編程 發(fā)布!