圖解字符編碼

啥叫字符集

計算機只認識0和1html

那字符串「abc」咋顯示呢? 有個相似於字典的東西,告訴計算機在此種狀況(在此編碼格式)下,某些數字該顯示什麼。微信

這種字典,就是字符集編碼

現有的字符集

目前主要有如下幾種字符集:.net

  • ASCII字符集
  • ISO 8859-1字符集
  • GB2312字符集
  • GBK字符集
  • Unicode編碼

ASCII字符集

共收錄128個字符,都是些最最基礎的字符。詳情請看百度百科code

大小:佔一個字節cdn

ISO 8859-1字符集(別名latin1)

ASCII字符集的擴充。共收錄256個字符。ASCII字符集基礎上擴充了128個西歐經常使用字符(包括德法兩國的字母)htm

大小:佔一個字節blog

GB2312字符集

劃重點:made in china。 百度百科~曰:」共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時,GB 2312收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西裏爾字母在內的682個全角字符。「詳情請看百度百科unicode

兼容ASCII字符集。字符串

大小:若是該字符在ASCII字符集中,則採用1字節編碼。不然採用2字節編碼。

GBK字符集

劃重點:made in china。 繼GB2312字符集以後中國又出的一套標準。這套更牛逼:不只徹底兼容GB2312字符集。還擴充了不少: 」共23940個碼位,共收錄了21003個漢字...所有中日韓漢字...「 總之一個字:牛逼!

大小:若是該字符在ASCII字符集中,則採用1字節編碼。不然採用2字節編碼。

Unicode編碼。

牛逼的玩意兒來了。先看看它的中文譯名:統一碼、萬國碼、單一碼。 收錄地球上的全部字符,如今還在不斷擴充。 可是,須要注意的是,Unicode只是一個符號集,它只規定了符號的二進制代碼,卻沒有規定這個二進制代碼應該如何存儲。

其中,Unicode編碼規定的符號代碼必須以」U+」作前綴。

編號怎麼對應到二進制表示呢?有多種方案:主要有 UTF-8,UTF-16,UTF-32。

  • UTF-32字符集。將unicode編碼的碼號直接轉成對應的二進制數。大小:4個字節
  • UTF-16字符集。使用變長字節表示。大小:對於編號在 U+0000 到 U+FFFF 的字符(經常使用字符集),直接用兩個字節表示,其他的用4個字節
  • UTF-8字符集。使用變長字節表示。兼容ASCII字符集。大小:1~4個字節

字符集之間的關係

參考文獻:

更多精彩內容,請關注個人微信公衆號 互聯網技術窩 或者加微信共同探討交流:

相關文章
相關標籤/搜索