python初始編碼 Python基礎之初始編碼

2021-10-11 22:38:13 字數 870 閱讀 8943

前言

程式中的編碼問題你不搞明白,那麼你的程式生涯中它會像幽靈一樣伴隨著你的職業生涯。

首先要搞清楚乙個概念:計算機中認識什麼?它認識的是010101這種二進位制,卻不認識中文不認識英文

那麼,這個時候問題來了,我們寫的英文,寫的漢字是怎麼轉變成機器識別的010101的二進位制的數字的呢?

ascii碼閃亮登場

0000 0001 8位(bit) == 1個位元組(byte)

1024byte == 1kb

1024kb == 1mb

1024mb == 1gb

1024gb == 1tb

1024tb == 1pb

在最初設計ascii碼之初,設計者並沒有想到有一天計算機會被全世界應用的如此廣泛,所以它們只設定了

7位的0000001數字去對映乙個英文,每一位都是01兩種可能,共2的7次方128種可能,但是預留了一位 0 以備不時之需

所以8位代表乙個位元組,但是讓它不是黃種人的碼,他解譯不了中文

中文大概有9w多個字,2的16次方也僅僅才6w多,還是包含不了全部的中文,為了解決這個全球化的問題,老美建立了一

個萬國碼unicode

unicode

1個位元組8位代表256種可能,表示所有的英文,特殊字元,數字等等

最開始給了中國2個位元組,8位代表乙個位元組,那麼2的16次方6w多種可能也是包含不夠

4個位元組 2的32次方 代表乙個中文字型 包含了全世界的可能,有點浪費了,為了解決這個

問題,utf-8 閃亮登場

utf-8

3個位元組2的16次方種可能 代替乙個中文

gbk(僅限國內使用,裡面全是中文的對映)

2個位元組2的8次方種可能 代表乙個中文(但是還是包含不夠所有的中文)

python學習筆記 day02 初始編碼

電腦上儲存的都是0101這種二進位制 ascii碼建立初期,僅僅是供美國是用,大小寫加上特殊字元100多個足夠,所以最開始的ascii碼只設計7位,但是設計者預留了一位 以便後續擴充,也就是8位 所以最原始的ascii 最左邊的一位是0,預留位,擴充使用,7位夠,為了擴充套件預留一位 8位表示乙個位...

python 位元組編碼 python編碼

參考文章 python編碼 encode 將unicode字元按照編碼規則 如utf 8 編成位元組序列。a u 測試 a.encode utf 8 xe6 xb5 x8b xe8 xaf x95 python解碼 decode 將位元組序列按照編碼規則 如utf 8 解釋成unicode。a b ...

python編碼標準 Python編碼規範

國際規範名 pep 8 變數名規範 識別符號規範 字串函式名小寫,多個單詞用 分隔開 由字母數字或下劃線組成,首字母不能為數字 2.不能為關鍵字 3.建議使用駝峰命名法 搜字母小寫,第二個單詞字母大寫 4.類名建議大寫 我的名字 name 我的名字 def size jia pass 函式主體為空,...