字符集與編碼

字符集含義:一個(gè)由整數(shù)向現(xiàn)實(shí)世界中文字的符號(hào)的Map

常見(jiàn)的字符集

  • ASCII:128字符,1字節(jié)
  • ISO-8859-1:對(duì)ASCII進(jìn)行擴(kuò)充,1字節(jié)
  • GBK:中國(guó)自研標(biāo)準(zhǔn),多字節(jié),字符集+編碼
  • Unicode:13萬(wàn)個(gè)字符,多字節(jié)
    • UTF-8:Unicode編碼的分支
    • UTF-16:Unicode編碼的分支

我們常使用使用的就是Unicode字符集,
在Unicode中,碼位的總范圍為0x0000到0x10FFFF

有幾個(gè)概念是了解字符集以及它的編碼必備知識(shí)

  • 碼點(diǎn)(code point), 在Unicode中,對(duì)于每一個(gè)字符編碼的值,叫做code point
    就是我們查Unicode編碼表得到的 例如 ‘明’字 的碼點(diǎn)是0x660e
  • 基礎(chǔ)多語(yǔ)言平面(Basic Multilingual Plane) 就是范圍在0x0000 - 0xFFFF 兩個(gè)字節(jié)
  • 代碼單元(code unit):能表示一個(gè)單元的編碼文本的最小位的組合

編碼方式

UTF-32 :32bit 4字節(jié)1個(gè)code unit 就能表示所有字符
UTF-16 :16bit,變長(zhǎng) 2個(gè)字節(jié) 或4個(gè)字結(jié) 表示一個(gè)字符,大于0xFFFF的通過(guò)高低代理表示 所以需要1個(gè)code unit-2個(gè)codeunit
UTF-8 :8bit ,變長(zhǎng) 1-4個(gè)字節(jié)表示一個(gè)字符,通過(guò)不同區(qū)間添加不同前綴。
詳見(jiàn)下面鏈接
Unicode 字符集與字符編碼
Unicode字符集與編碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容