5、個人理解層面
ascii編碼中的字元每乙個占用8bits,乙個位元組
中文初是使用ascii碼中的擴充套件位實現編碼的,與中文擴充套件表實現一一對應的關係
以此為基礎的編碼有:
gb2312 2023年 6763字 682字元
gbk1.0 2023年 21003字
gb18030 2023年 27484字(包括藏文等少數民族語言)
中國要求pc系統必須支援gb18030,嵌入式硬體不作要求
為了整合各個國家的對映,出現了國碼:
unicode,其中包括:
unicode: utf-32:乙個字元佔4bytes
unicode: utf-16:所有的佔2bytes或大於2bytes
unicode: utf-8 英文等ascii碼表中的佔乙個位元組,中文佔3bytes,歐文佔2bytes
統稱的unicode是向下相容gb的,因此使用unicode編碼的檔案在gb編碼的終端中可以正常顯示中文
但是utf-8由於重新改變編碼資料結構,因此並不相容unicode,因此需要轉碼解碼等操作。
python3.0 預設編碼是unicode(也就是**中的漢字以unicode進行儲存)
python2.0 預設編碼是ascii碼
#!coding:utf-8
用這個語句告訴python以下編碼按照utf-8進行編碼
#!coding: utf-8
#解碼s = '趙』
s_to_unicode = s.decode(
'utf-8'
)#python3.0 預設編碼unicode
unicode_to_gbk = s_to_unicode.decode(
'gbk'
)#講unicode編碼為gbk
編碼需要清楚終端顯示軟體的顯示編碼規則,比如在cmd中,顯示是gbk,這個編碼規則對於漢字是支援的,而用unicode編碼的程式也是可以在此顯示的,所以如果python軟體指定編碼為utf-8的話會將**中的漢字按照另外一種形式進行編碼,不會再支援unicode和gbk中的漢字編碼,會導致在cmd中的漢字以亂碼的形式進行顯示
而python中的編碼方法,decode和encode是將內容按照制定的方式進行編碼,中間轉換的標準就是unicode
python入門(一) 變數
值會發生變化的的量,與常量相對,引用著某個數值,並且可以改變這個引用 a 1 b 2 c a a b b c print a,b 結果 2 1a 1 print a 結果 1a,b 1,2 print a,b 結果 1 2a b 1 print a,b 結果 1 1由於 是一行一行進行執行,下面的變...
Python學習筆記(一) 變數
本文所有程式都是基於pycharm編譯器和python3.6.6編寫的。引出變數時不需要申明變數的資料型別,但必須給變數賦值。先給變數起個名字,起名字要遵循一下原則 由字母 數字 下劃線組成,變數名不能以數字開頭 區分大小寫。如 a和a是兩個變數 不能包含空格 不能是python中的關鍵字。如 fo...
Python學習筆記(一) 變數
python語言允許在任何地方插入空字元和注釋,但不能插入到識別符號和字串中間。python源 的注釋由兩種形式 python使用井號 表示單行注釋的開始,跟在 號後面直到這行結束為止的 都將被直譯器忽略。單行注釋就是在程式中注釋一行 在python程式中將 號放在需要注釋的內容之前就可以了。多行注...