- 計算機只會識別0和1
- 計算機處理數據得時候,將其他進制轉換爲2進制
- 計算機處理文本,會先將文本轉換爲數字
- 計算機在最早設計的時,採用8個比特(
bit
)表示一個字節(byte
),所以一個字節表示的最大整數就是255(二進制11111111
=十進制255
) - 計算機由美國發明,所以最早只有127個字符被編碼到計算機中,也就是大小寫字母、數字和一些符號,這個編碼表就是
ASCII
編碼(即一個字母對應一個數字) - 中文對應的是
GB2312
編碼 - 日文對應的是
Shift_JIS
編碼 - 韓國把韓文編到
Euc-kr
裏’ - 各國有各國的標準,所以在多國語言混合的文本中,顯示出來會亂碼,所以Unicode就應運而生。
- Unicode把所有的語言都統一了編碼,就不會有亂碼的問題了
- unicode中常用2個字節表示一個字符(生僻的,可能是4個字節)
- ASCII編碼是一個字節,而轉換爲Unicode編碼後,就變成了2個字節,所以說如果基本爲英文的情況下,這樣的所需要的存儲空間就大了一倍
- 本着節約的精神,就出現了可變長的
UTF-8
編碼 - UTF-8編碼把一個Unicode字符根據不同的數字大小編碼成1-6個字符,常用的英文編碼爲1個字符,漢字爲3個字符,生僻的字符爲4-6個字符
- 下面是ASCII、Unicode和UTF-8的關係表
字符 ASCII Unicode UTF-8 A 01000001 00000000 01000001 01000001 中 x 01001110 00101101 11100100 10111000 10101101 - 在計算機內存中,統一使用Unicode編碼,當需要保存到硬盤或者需要傳輸的時候,就轉換爲UTF-8編碼。
- 用記事本編輯的時候,從文件讀取的UTF-8字符被轉換爲Unicode字符到內存裏,編輯完成後,保存的時候再把Unicode轉換爲UTF-8保存到文件:
- 瀏覽網頁的時候,服務器會把動態生成的Unicode內容轉換爲UTF-8再傳輸到瀏覽器:
所以你看到很多網頁的源碼上會有類似的信息,表示該網頁正是用的UTF-8編碼。
字符編碼詳解總結
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.