day10 字元編碼

2022-02-17 17:57:48 字數 1342 閱讀 7023

這節理論比較多,要好好理解,如果理解不了,一定要把結論記下來

(所以基本沒寫別的內容)

ascii表:

1、只支援英文本串

2、採用8位二進位制數對應乙個英文本串

gbk表:

1、支援英文本元、中文字元

2、採用8位(8bit=1bytes)二進位制數對應乙個英文本串

採用16位(16bit=2bytes)二進位制數對應乙個中文字串

unicode(記憶體中統一使用unicode):

1、相容萬國字元

與萬國字元都有對應關係

2、採用16位(16bit=2bytes)二進位制數對應乙個中文字串

個別生僻會採用4bytes、8bytes

unicode表:

記憶體人類的字元---------unicode格式的數字----------

| |

| |

|硬碟 |

|| |

| |

gbk格式的二進位制 shift-jis格式的二進位制

老的字元編碼都可以轉換成unicode,但是不能通過unicode互轉

utf-8:

英文->1bytes

漢字->3bytes

結論:1、記憶體固定使用unicode,我們可以改變的是存入硬碟採用格式

英文+漢字-》unicode-》gbk

英文+日文-》unicode-》shift-jis

萬國字元》-unicode-》utf-8

3、python直譯器預設讀檔案的編碼

python3預設:utf-8

python2預設:ascii

指定檔案頭修改預設的編碼:

在py檔案的首行寫:

#coding:gbk

4、保證執行python程式前兩個階段不亂碼的核心法則:

指定檔案頭

# coding:檔案當初存入硬碟時所採用的編碼格式

5、python3的str型別預設直接存成unicode格式,無論如何都不會亂碼

保證python2的str型別不亂碼

x=u'上'

6、了解

python2直譯器有兩種字串型別:str、unicode

# str型別

x='上' # 字串值會按照檔案頭指定的編碼格式存入變數值的記憶體空間

# unicode型別

x=u'上' # 強制存成unicode

Day10 集合 字元編碼

集合 list tuple dict一樣都可以存放多個值,但是集合主要用於 去重 關係運算 去重 1.只能針對不可變型別去重 2.無法保證原來的順序 定義 在 內用逗號分隔開多個元素,集合具備以下三個特點 1 每個元素必須是不可變型別 2 集合內沒有重複的元素 3 集合內元素無序 型別轉換 但凡能被...

Day08字元編碼

day08 知識儲備 硬碟 由硬碟載入到記憶體,cpu從記憶體中取 軟體產生的資料都是先儲存在記憶體中 檔案,輸入文字,儲存到記憶體,記憶體是硬體,硬體只能儲存2進製,所以需要轉換 文字編輯器,輸入文字的時候,是乙個轉成二進位制儲存到記憶體,然後反解成文字顯示到螢幕的過程 字元編碼 將字元轉換 編碼...

day08字元編碼問題

1.把字元讀入python直譯器 python直譯器相當於文字編輯器 字元編碼 2.識別字元 3.往終端列印結果 字元編碼 第一步解決方法 python2預設使用ascill碼讀入字元 python3預設使用utf8 可以使用coding gbk 修改為 gbk讀入字元 第二步解決方法 python...