字符集

字符集和編碼windows

ASCII 碼:單字節,0-127,擴展ascii編碼,最高位位1。編碼

ANSI編碼,表明系統默認編碼,在中文系統中是GB系列編碼,繁體BIG五、日文就是JIS,經過調整控制面板裏的語言區域來調整默認編碼。windows採用的代碼頁(code page)就是針對一種語言文字的字符編碼,缺失代碼頁和ANSI概念對應。擴展ascii,128-256解決部分西歐語言。code

 

 unicode ucs編碼:將世界上全部的符號都歸入其中,每個符號都給予一個獨一無二的編碼。unicode(Universal Multiple-Octet Coded Character Set),"通用多八位編碼字符集"。
                 字節序,ZERO WIDTH NO-BREAK SPACE"(零寬度非換行空格)的字符,Big-Endian:FEFF,FFFE是Little-Endian。
                 ucs和其它ANSI的編碼能互轉,不會丟失信息。 ISO 10646標準爲UCS
                              Unicode 版本對應於 UCS-2,16位長orm

 utf 編碼: 解決unicode幾個問題:怎麼存儲,浪費空間(英文字母,前面全是0)
                   UTF(Unicode Translation Format),它是Unicode (UCS)的實現(或存儲)方式,稱爲Unicode轉換格式。
                   utf-16 ,對應UCS-2
                   utf-32,對應UCS-4
                   utf-8,可變長度,漢字通常3個字節。採用EF BB BF開頭來識別。ip

BOM:Byte order Mark標識符:
EF BB BF     UTF-8
FE FF         UTF-16/UCS-2, little endian
FF FE         UTF-16/UCS-2, big endian
FE FF 00 00  UTF-32/UCS-4, little endian.
00 00 FF FE  UTF-32/UCS-4, big-endian.
          utf-8

Unicode編碼轉換爲UTF-8編碼的方法
UTF-8就是以8位爲單元對Unicode進行編碼。下面是Unicode和UTF-8轉換的規則:
Unicode         UTF-8
0000 - 007F    0xxxxxxx
0080 - 07FF    110xxxxx 10xxxxxx
0800 - FFFF    1110xxxx 10xxxxxx 10xxxxxxci

「漢」字的Unicode編碼是6C49在0800 - FFFF範圍,二進制爲:0110 110001 001001,按位填充到1110xxxx 10xxxxxx 10xxxxxx--->11100110 10110001 10001001,即E6 B1 89
unicode

 

 

GB2132/GB2132-80    6763個漢字編碼,2字節it

GBK              GB2132所有漢字 + 很是規漢字,編碼不一樣於GB2132io

GB18030      兼容 GBK,支持unicode,1-4字節編碼

BIG5            繁體字編碼,2字節

相關文章
相關標籤/搜索