1. 程式人生 > >字元編碼 ASCII Unicode UTF-8

字元編碼 ASCII Unicode UTF-8

字元編碼: ASCII 編碼: 最早只有127個字母被編碼到計算機裡,也就是大小寫英文字母、數字和一些符號,比如大寫字母A的編碼是65,小寫字母z的編碼是122。 Unicode 編碼 把所有語言都統一到一套編碼裡,這樣就不會再有亂碼問題了。 ASCII編碼是1個位元組,而Unicode編碼通常是2個位元組。(如果要用到非常偏僻的字元,就需要4個位元組) 本著節約的精神,又出現了把Unicode編碼轉化為“可變長編碼”的UTF-8編碼。 UTF-8 編碼: 把一個Unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文字母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組。 UTF-8編碼有一個額外的好處,就是ASCII編碼實際上可以被看成是UTF-8編碼的一部分,所以,大量只支援ASCII編碼的歷史遺留軟體可以在UTF-8編碼下繼續工作。 搞清楚了ASCII、Unicode和UTF-8的關係,我們就可以總結一下現在計算機系統通用的字元編碼工作方式: 在計算機記憶體
中,統一使用Unicode編碼,當需要儲存到硬碟或者需要傳輸的時候,就轉換為UTF-8編碼。 用記事本編輯的時候,從檔案讀取的UTF-8字元被轉換為Unicode字元到記憶體裡,編輯完成後,儲存的時候再把Unicode轉換為UTF-8儲存到檔案。 瀏覽網頁的時候,伺服器會把動態生成的Unicode內容轉換為UTF-8再傳輸到瀏覽器。 所以你看到很多網頁的原始碼上會有類似<meta charset="UTF-8" />的資訊,表示該網頁正是用的UTF-8編碼。