字符編碼

字符編碼

將人類的字符編碼/轉換成計算機能識別的數字
這種轉換必須遵循一套固定的標準,該標準無非是
人類字符與數字的對應關係,稱之爲字符編碼表

bit:二進制位
Bytes:字節
ASCII碼錶:用1Bytes表示一個英文字符

1英文字符=8bit=1Bytes

GBK:用2Bytes表示一箇中文字符,1Bytes去表示英文字符

unicode:內存中使用的是unicode編碼,unicode把全世界的字符都建立好對應關係
        用2Bytes去表示一個字符

utf-8 用1Bytes表示英文,用3Bytes表示中文

字符編碼需要記住的概念

01 內存中固定使用unicode編碼,我們唯一可以改變的是存儲到硬盤時使用的編碼

02 要想保證存取文件不亂亂碼,應該保證文檔當初是以什麼編碼格式存的,就應該以什麼編碼格式去讀取

03 python3解釋器默認編碼是UTF-8,python2解釋器默認編碼是ASCII

在python2中有兩種字符串編碼格式
                1、unicode:
                        x=u'上'
                2、unicode編碼後的結果
                        x='上' #如果文件頭爲coding:utf-8,那麼"上"被存成utf-8格式的二進制

        在python3只有一種字符串編碼格式:
                1、unicode
                        x='上’

04 編碼與解碼

unicode-------編碼encode-------->gbk
unicode<-------解碼decode--------gbk

總結python2與python3:

    在python2中的字符粗類型str都是unicode按照文件頭的指定的編碼,編碼之後的結果
    在python2中也可以製造unicode編碼的字符串。需要在字符串前加u

    在python3中的字符串類型str都是unicode編碼的
    所以python3中的字符串類型可以編碼成其他字符編碼格式,編碼的結果
    是bytes類型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章