python到目前爲止,一共有兩個版本,分別是2.x和3.x版本,根據官方正式通知2020年中止對python更新和維護,距離今天還有110天左右,因此正在學習python的小夥伴應該暗中慶幸一波。python
python2.x版本默認採用ASCLL編碼,python3.x版本則默認採用UTF-8編碼,二者有什麼區別呢?惟一區別就是若是代碼或者註釋中含有中文,ASCLL編碼會出現亂碼,UTF-8卻能夠正常顯示中文,即python2.x版本中文顯示不正常,python3.x版本正常。git
編碼和解碼一一對應,把對應的數據編碼,只有經過正確的方式解碼才能獲得對應的數據,反之獲得的就是錯誤數據,亂碼。github
來個比喻 : 隔壁老王設了一個wifi密碼:abcdefgh,你想使用老王密碼,老王若是不告訴你,你實驗100次都弄不出正常密碼(槓精說:我用wifi萬能鑰匙)python3.x
解決亂碼很簡單,找到與編碼正確的方式解碼就能夠了。咱們繼續回到helloword項目,代碼以下:微信
1ide 2學習 3編碼 4spa 5code 6 7 8 9 10 11 12 13 14 |
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(我的博客地址): shuopython.com @WeChat Official Account(微信公衆號):猿說python @Github:www.github.com
@File:helloworld.py @Time:2019/9/12 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………
1.pycharm/python /anaconda區別和聯繫
2.pycharm設置頭文件模板
轉載請註明:猿說Python » python中文編碼