python中文編碼(5)

python到目前爲止,一共有兩個版本,分別是2.x和3.x版本,根據官方正式通知2020年中止對python更新和維護,距離今天還有110天左右,因此正在學習python的小夥伴應該暗中慶幸一波。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中文編碼

相關文章
相關標籤/搜索