Python 基礎入門18節-第二節 你不得不瞭解的字符編碼

Python PyCharm 設計 程序員 英語 技術 lelingtech的AI之路 2019-06-18
Python 基礎入門18節-第二節 你不得不瞭解的字符編碼

字符編碼是每個程序猿繞不開的結,不管是剛入門還是技術大牛,都會碰到字符編碼問題,也就是我們經常聽到最多的BUG,中文亂碼了。在介紹Python編碼之前,我們先了解一下常用的字符編碼。

1.ASCII

在所有字符集中,最知名的可能要數被稱為ASCII的7位字符集了。它由128個字符組成,包括大小寫字母、數字0-9、標點符號、非打印字符(換行符、製表符等4個)以及控制字符(退格、響鈴等)組成。

2.iso-8859-1

專為英文設計的字符集,所以是不支持中文的。

3.Unicode

Universal Multiple-Octet Coded Character Set”,簡稱 UCS, 俗稱 “unicode“包括了地球上所有文化、所有字母和符號的編碼!

4.gb2312、gbk

簡體中文字符集的中國國家標準,GB2312兼容ASCII碼,這部分還是每個字符佔1個字節。每個漢字字符佔2個字節。gbk 的區別在於包含人名、古漢語等方面出現的罕用字。

5.utf-8

萬國碼,支持全世界的編碼,這就是為什麼我們大部分軟件系統、程序、開發工具都建議使用該騙碼。UTF-8只是Unicode編碼的一種轉換方式,這時因為Unicode問題佔用兩個字節的空間,而且最為常用的ASCII編碼部分只需要一個字節就可以了,所以才會出現通用轉換格式(UTF)。

以上是對字符編碼的簡單介紹,在後續的編碼過程中,我們需要留意字符集產生的問題。下面將通過Pycharm開發工具和Python代碼來看看字符串編碼的問題:

1.Pycharm 文件編碼設置編碼為UTF-8

Python 基礎入門18節-第二節 你不得不瞭解的字符編碼

打印輸出英文和中文字符串

Python 基礎入門18節-第二節 你不得不瞭解的字符編碼

中英文都正常輸出了

2.Pycharm設置編碼為iso-8859-1,再看看運行的結果

Python 基礎入門18節-第二節 你不得不瞭解的字符編碼

英文字符串順利輸出,中文報異常了,無法輸出

報異常的原因是因為這時候的Python文件是iso-8859-1編碼,該編碼不支持中文,當我們再次將Pycharm文件格式調整為UTF-8,則一切恢復正常。

在我們實際編寫程序過程中,我們還會出現中文字符串各種亂碼的情況,這個時候我們就要想到是不是編碼設置的問題,包括運行環境的字符集編碼設置和開發環境的字符集編碼設置,對於Python初學者我們記住以下原則:

1.Python文件的編碼格式要設置為UTF-8,一般開發工具都可進行設置,關於Pycharm開發工具如何設置文件編碼,可關注我們的頭條號,查看《Python開發工具Pycharm-圖文教你快速掌握》

2.不同編碼之間不能直接轉換,要經過unicode中間跳轉

3.編碼聲明為utf-8

在後續的課程中也會講解關於在實際應用項目中碰到的中文亂碼問題如何解決,持續學習是一種習慣,歡迎關注我們的頭條號,繼續學習後面的課程。

下一節:Python 基礎入門18節-第三節 學會使用字符串

相關推薦

推薦中...