手機版
你好,游客 登錄 注冊
背景:
閱讀新聞

Python3之編碼詳解

[日期:2019-05-03] 來源:Linux社區  作者:Linux [字體: ]

一,Python2與python3的區別

1)python2可以不用括號()

    python3必須加括號

2)python2中有range()有序列表,xrange()生成器

    python3中只有range()

3)python2中輸入是raw_input()

    python3中輸入是input()

二,  =   ==   is  三者的區別

1)  =           是賦值

    ==         是比較,值是否相等

        is         比較的是內存地址

    id(內容)   打印的是內容的id       print(id1(內容),id2(內容))

  is 與 == 區別:

  is 用于判斷兩個變量引用對象是否為同一個, == 用于判斷引用變量的值是否相等。

三,小數據池

        小數據池是int和str在一定范圍內共用一個數據池,范圍-1— -256。小數據池是為了節省內存。

1)str:不含有特殊字符的共用

            ps:  s1 = ‘alex’    

                      s2 = 'alex'

                      print(s1 is s2)

                    結果是True

2)str: ‘一個字符’*小于等于20的數字,還是共用,如果是大于20的就不共用了。

              多個字符不論乘什么數字,都不共用

3)剩下的list  dict  taple  set等都沒有小數據池概念

四,編碼

 ascii碼:         只有英文字母和特殊字符,一個字節是8位

unicode碼:  一個字符是32位,一個字母4個字節

                      一個漢字是32位,一個漢字4個字節

utf-8:           一個字母是8位,一個字母1個字節

                      一個漢字是24位,一個漢字3個字節

gbk;             一個字母是8位,一個字母1個字節

                      一個漢字是16位,一個漢字2個字節

1)各個編碼之間的二進制不能互相識別,會亂碼。

    uncode占得內存太多,所以不能傳輸和儲存。

    utf-8,gbk,utf-16,utf-32,gb2312,ascii等都可以儲存和傳輸。

2)python3在內存中是用unicode編碼方式存儲的,所以不能直接儲存和傳輸,要轉化為其他編碼進行儲存和傳輸。

五,bytes類型

    bytes類型也是一種數據類型。

    bytes不是用unicode方式編碼的,所以可以儲存和傳輸。

    bytes的編碼方式是utf-8,gbk,ascii,gb2312等。

1)英文

      在python3中:str表現形式; s = ''alex''           str編碼形式:unicode

      在bytes中:   str表現形式: s = b''alex''          str編碼形式:utf-8,gbk,ascii,gb2312等

      中文

      在python3中:str表現形式; s = ''中國''          str編碼形式:unicode

      在bytes中:   str表現形式: s = b''x\e91\e91e91\e91e91\e91         str編碼形式:utf-8,gbk,ascii,gb2312等

六,編碼  encode

1)將str>>>bytes   可以指定編碼方式      

    s1 = ‘alex’

    s11 = s1.encode('utf-8')

    print(s11)

    表面是將str轉化為bytes,實際內部是將unicode轉化為utf-8,gbk,ascii,gb2312等

更多Python相關信息見Python 專題頁面 http://www.nmzech.live/topicnews.aspx?tid=17

Linux公社的RSS地址http://www.nmzech.live/rssFeed.aspx

本文永久更新鏈接地址http://www.nmzech.live/Linux/2019-05/158458.htm

linux
相關資訊       Python3編碼 
本文評論   查看全部評論 (0)
表情: 表情 姓名: 字數

       

評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
北京快乐8走势图彩客网