各字符集精簡總結(ASCII、ISO8859-1(Latin1)、GB2312、GBK、UNICIDE、UTF8)

從左向右,字符集,更新,可表示的字符更多,通用性更高,一個字符所佔字節數更多(大體如此)
ASCII<ISO8859-1(Latin1)<GB2312<GBK<UNICIDE<UTF8

ASCII:單字節,最高位(第8位)爲0,不參與表示,後7位表示128個字符。內定義半角標點符號。僅夠英美用
ISO8859-1(Latin1):單字節,8位都參與表示字符,256個字符。僅夠歐美用。
GB2312:雙字節(每個字節大於127),內定義全角標點符號。ASCII中文擴展。基本夠中國使用
GBK:雙字節(無需每個字節大於127),增少數名族文字和繁體漢字。夠中國用
UNICODE:UCS-2,雙字節,最多組合表示65535個字符。夠全世界用
UTF-8:可變字節表示字符,字節範圍爲1~4。互聯網用

Unicode和Unicode(big endian)兩種:Unicode爲低位字節在後,高位字節在前。而Unicode(big endian)爲低位字節在
前,高位字節在後。

總結,使用unicode和utf-8可以表示世界範圍內所有字符。無需字符集轉換。

各操作系統 默認字符集合不統一,例如:windows簡體中文版 默認字符集合是ASCII和GB2312。
用字節相關變量保存漢字時,需要統一讀、寫雙方的漢字集合,否則就會出現亂碼!

讀寫數據庫時,也會經常出現亂碼問題,將讀出的數據轉換爲應用所用編碼,將寫入的數據轉換爲數據庫所用編碼即可。

數據庫中類型前有n的是Unicode。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章