5.4如何判斷字符集
5.4.1字節(jié)序
首先說(shuō)一下字節(jié)序?qū)幋a的影響,字節(jié)序分為Big Endian字節(jié)序和Little Endian字節(jié)序提岔。不同的處理器可能不一樣仙蛉。所以,傳輸時(shí)需要告訴處理器當(dāng)時(shí)的編碼字節(jié)序碱蒙。對(duì)于前者而言荠瘪,高位字節(jié)存在低地址,低字節(jié)存于高地址赛惩;后者相反哀墓。例如,0X03AB,
Big Endian字節(jié)序
0000: 0 3
0001: AB
Little Endian字節(jié)序是
0000: AB
0001: 0 3
5.4.2編碼識(shí)別
UNICODE喷兼,根據(jù)前幾個(gè)字節(jié)可以判斷UNICODE字符集的各種編碼篮绰,叫做Byte Order Mask方法BOM:
UTF-8: EFBBBF (符合UTF-8格式,請(qǐng)看上面褒搔。但沒(méi)有含義在UCS即UNICODE中)
UTF-16 Big Endian:FEFF (沒(méi)有含義在UCS-2中)
UTF-16 Little Endian:FFFE (沒(méi)有含義在UCS-2中)
UTF-32 Big Endian:0000FEFF (沒(méi)有含義在UCS-4中)
UTF-32 Little Endian:FFFE0000 (沒(méi)有含義在UCS-4中)
GB2312:高字節(jié)和低字節(jié)的第1位都是1阶牍。
BIG5,GBK&GB18030:高字節(jié)的第1位為1星瘾。