什么是字符?
1.在Python中,字符串中的內容都是字符.
2.什么是字符編碼(encode)和字符集(charset)?
- 計算機只能識別數值,而字符不能識別,為了讓計算機能處理字符,必須將字符和數值產生一個映射關系.(即:給某個字符指定一個數值,計算機就用這個數值表示這個字符了.)這個映射關系,稱為字符集. 例如: ASCII字符集,gbk字符集,Shift_JIS字符集.
- 這些字符集通常不互相通用,比如:3000這個數值在gbk中表示一個符號,在其他的字符集中有可能表示的就是完全不同的字符.
- 為了終止這種混亂的場面,出現了Unicode字符集.
- Unicode字符集也是一種字符和數值對應的關系表.只不過它里面保存的數值比較多,目前已經達到了一百多萬個.已經能表示世界上所有能見到的語言和符號了.
3.字符編碼:將字符集中的數值轉換成字節的過程.
- 但是和ASCII字符集,gbk字符集,Shift_JIS字符集不同的是:
- Unicode字符集提供了多種實現方案:
- UTF8,UTF16,UTF32等等.
- UTF:Unicode Translate
- Format,Unicode轉換格式
- 其中,UTF16用固定的2個字節表示Unicode字符.
- UTF32用固定的4個字節表示Unicode字符. 二者都不太常用.
4.而UTF8是一種變長的編碼方案(在互聯網領域最常用):
- 能用一個字節表示的,就用一個字節表示.
- 表達不了的,用兩個字節表示.
- 實在不行的,用三個字節表示.
- 還有一些比較少用的,用四個字節表示.
- 中文一般用三個字節表示.
- Unicode字符集和UTF8編碼對應的關系:
