計算機要準確的處理各類字符集文字,就須要進行字符編碼,以便計算機可以識別和存儲各類文字。網絡
常見的。編碼
1 byte = 8bit
因此 1個字節可表示256種符號
。128
個字符,包括大小寫字母、數字、標點符號和美式英語中使用的特殊控制字符。二進制 | 十進制 | 十六進制 | 字符 | 解釋 |
---|---|---|---|---|
0011 0001 | 49 | 0x31 | 1 | 字符1 |
0100 0001 | 65 | 0x41 | A | 大寫字母A |
0110 0001 | 97 | 0x61 | a | 小寫字母a |
問題
:不夠用~問題
:同一個編碼值,在不一樣的編碼體系裏表明着不一樣的字。0x0000
至 0x10FFFF
,共1114112
個,分爲17
組,每組稱爲平面(plane)
,每平面擁有65536(2的16次方)
個碼位。U+0000~U+FFFF
:基本多文種平面
( BMP:Basic Multilingual Plane, 簡稱「零號平面」, plane 0)2個字節
表示(例如U+4AE0,共支持六萬多個字符)輔助平面
,以代理對(surrogate pair)
的形式,用4個字節
的值來儲存。問題
:編碼效率不高,好比UCS-4(Unicode的標準之一)規定用4個字節存儲一個符號,那麼每一個英文字母前都必然有三個字節是0,這對存儲和傳輸來講都很耗資源。UTF: Unicode Transfer Format,即把Unicode轉作某種格式的意思.net
分類 | 位數 | 長度 | 編碼規則 | 其餘 |
---|---|---|---|---|
UTF-8 | 8位序列編碼,即以字節爲單位 | 變長編碼 | 按照不一樣範圍,能夠有1-4字節的不一樣長度 | 保留了ASCII字符的編碼作爲它的一部分,XML及其子集HTML採用UTF-8做爲標準字集 |
UTF-16 | 16位序列編碼 | 長度相對固定 | 0x10000之內的字符,使用2字節表示,超出部分使用4字節表示 | |
UTF-32 | 32位序列編碼 | 長度始終固定 | 使用4字節表示 |