標籤:span 電腦 處理 gpo utf-8 位元 數字 最大 unicode
字元編碼
因為電腦只能處理數字,如果要處理文本,就必須先把文本轉換為數字才能處理。最早的電腦在設計時採用8個位元(bit)作為一個位元組(byte),所以,一個位元組能表示的最大的整數就是255(二進位11111111=十進位255),如果要表示更大的整數,就必須用更多的位元組。比如兩個位元組可以表示的最大整數是65535,4個位元組可以表示的最大整數是4294967295。
由於電腦是美國人發明的,因此,最早只有127個字母被編碼到電腦裡,也就是大小寫英文字母、數字和一些符號,這個編碼錶被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母z的編碼是122。
中文編碼問題一直是程式員頭疼的問題。Python2的預設編碼是ASCII碼,Python3的預設編碼是UTF-8
一、python2 與 python3 通用的編碼方式
1、UTF-8編碼方式:
英文 :A 00100000 8位 1位元組
中文: 中 00000001 00000010 00001110 24位 3位元組
2、GBK編碼方式:
英文: A 00000110 8位 1位元組
中文: 中 00000010 00000110 16位 2位元組
各個編碼之間二進位,是不能互相識別的,會產生混亂
檔案之間的儲存、傳輸、不能用Unicode碼(因為所佔用的空間太大),只能用UTF-8、UTF-16、GBK、GB2312、ASCII碼
3、str在Python中是用Unicode碼,還有一種是bytes 類型
1、英文
str:
表現形式 s = ‘alex‘
編碼方式 0101010101 unicode
bytes:
表現形式 s = b‘alex‘
編碼方式 00101010 utf-8 gbk
2、中文
str:
表現方式 s= ‘中國‘
編碼方式 01010110 utf-8 gbk
bytes:
表現方式 b‘x\e91\e91\e01\e21\e31\e32
編碼方式 01001100 utf-8 gbk
Python的字元編碼