1. 程式人生 > >計算機科學-ASCII, Unicode & UTF-8 (in Python)

計算機科學-ASCII, Unicode & UTF-8 (in Python)

多語言 col n) 位數 lan round 進行 操作 blog

專題:ASCII, Unicode & UTF-8 (in Python)

1.基本概念:

1)字符集:已編號字符的有序集合,包括字符編號和字符,對計算機沒有直接意義

2)編碼方案:將字符集中的字符編號與二進制字符編碼進行對應的映射

3)編碼單位(碼元):計算機處理字符時一次讀取的二進制位數

4)編碼:按照編碼方案,由字符轉換而來的二進制數據。在已知編碼單位和映射關系時,計算機可以對字符進行編碼,也可以對編碼進行解碼

2.ASCIIUnicode & UTF-8的實質:

1ASCII:字符集以及編碼方案,用0~127128個字符做了編號,用8位作為編碼單位,簡單地把十進制編號轉換而成的二進制數據作為編碼

2)廣義Unicode

Unicode:字符集,以16位二進制數對世界上幾乎全部字符做了編號

UTF-8:編碼方案,以8位(一個字節)作為編碼單位,按照一定規則(每字節前幾位固定)將一個字符編碼為14個字節

3.ASCIIUnicode & UTF-8的應用背景:

1ASCII:只能表示英文文本

2Unicode:表示多語言文本,兼容ASCII

3UTF-8:傳輸、存儲用Unicode表示的多語言文本,去除Unicode中的冗余部分

4.Python描述:

1bytesstr類型:

bytes:編碼比特流,如0101101000101101

str:字符串,如’Python’

變量的類型可以用type()查看,或者以輸出時是否帶有b’’來區分

2encodedecode方法:

encodestr以聲明的編碼方案轉換為bytes,也就是編碼

decodebytes以聲明的編碼方案轉換為str,也就是解碼

5.Python中的字符操作:

1)在將字符串存入硬盤和從硬盤中讀取字符串的過程中,自動進行編碼和解碼

2)為了避免亂碼問題,應堅持使用UTF-8方案

計算機科學-ASCII, Unicode & UTF-8 (in Python)