通俗易懂的解釋字符集和字符編碼

字符集(至關於接口)

  • 字庫表

    包含全部的字符庫。
  • 碼點code ponit

    標識字庫表中的每一個字符的位置。(碼點是不能直接使用的,還需字符集編碼的實現)。
  • 例如

    • ASCII字符集
    • Unicode字符集

字符編碼(至關於實現類)

定義了字符集的碼點的規則。html

  • ASCII編碼(ASCII字符集的一種實現)

    一個字節,包含8bit,共256種。0~127表示默認字符,128~255是擴展字符。
  • Unicode編碼(unicode字符集的一種實現)

    一個英文等於兩個字節,一箇中文(含繁體)等於兩個字節。 兼容ASCII編碼,英文前一字節用00000000填充。
  • utf-8編碼(unicode字符集的一種實現)

    • 是一個可變長度的默認爲8bit=1byte的碼點的存儲方式。
    • 單字節的字符,字節的第一位設爲0,對於英語文本,UTF-8碼只佔用一個字節,和ASCII碼徹底相同;
    • n個字節的字符(n>1),第一個字節的前n位設爲1,第n+1位設爲0,後面字節的前兩位都設爲10,這n個字節的其他空位填充該字符unicode碼,高位用0補足。
    1字節 0xxxxxxx 
    2字節 110xxxxx 10xxxxxx 
    3字節 1110xxxx 10xxxxxx 10xxxxxx 
    4字節 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 
    5字節 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 
    6字節 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 。
    複製代碼

一種字符集的可能對應僅一種或多種的字符編碼實現。

unicode字符集:

  • utf-8 編碼
  • utf-16 編碼
  • utf-32 編碼
  • ...

GBK2321字符集:

  • GBK2321編碼

參考

相關文章
相關標籤/搜索