1. 程式人生 > >python學習(2)關於字符編碼

python學習(2)關於字符編碼

英語 國標 學習 utf for 美國 電腦 二進制 str

關於字符編碼的學習內容筆記如下:

1、計算機只能用0和1來進行記錄和存儲。計算機是二進制。

2、ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節),即:2**8 = 256-1,所以,ASCII碼最多只能表示 255 個符號。一個英文或者英文符號占一個字節。

3、1980年中國為了解決計算機輸入的問題,制定了GB2132編碼。2000年後大幅度擴展成為GB18030。解決了漢字輸入問題。

4、ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字符和符號的編碼,即:Unicode。Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一並且唯一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536。Unicode中,一個英文字符占一個字節,一個中文字符占2個字節。

5、UTF-8是對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存

6、Python2.7默認支持ascii碼,因此會出現中文字符輸出的問題。需要加上# -*- coding: utf-8 -*-來告訴解釋器,用什麽字符編碼。Python3以上默認采用UTF-8編碼,無需加# -*- coding: utf-8 -*-。

python學習(2)關於字符編碼