ascII、unicode、gb2312等都是字符集,用於定義編號指代的字符。utf-8,utf-16則是unicode的編碼格式。編碼
ascII只有128個,能表示英文、數字、經常使用符號。設計
gb2312是中文特有的字符集,有2萬多個字符,前128個和ascII保持一致,所以能兼容ascII。ascII碼用1個字節表示,中文用2個字節表示。gbk是在gb2312基礎上擴容而來的。code
unicode則是爲了讓全球能用上統一的字符集而發明的,有6萬多個字符,每一個字符佔2個字節,好比英文a,ascII是9七、unicode則是0097(示意的說法)。中文只收錄最經常使用的6000多個漢字。unicode雖然是大一統的標準,可是在表示英文時浪費空間,而且許多古老的程序只支持ascII,unicode從標準設計上來講是不兼容ascII。正因如此在實際使用中unicode會以utf-8,utf-16等編碼方式存儲是傳輸。utf-8保持和ascII一致,英文使用1個字節,其餘字符使用2-6個字節,好比中文多數是3個字節。utf-8