字符集
字符集是用来表达字符的集合,常用的有Ansi标准,与Unicode标准
Unicode,Ansi的区别
Ansi最初只有ascii码,0~127,1个字节,但后来随着字符的增加(各国语言)便开始用多个字节表达其他字符,补称为(MBCS)Muti-Byte Character Set
Unicode 将所有字符统一编码,一般用两个字节表示,现在已增加到3个字节,称为UCS(Unicode Character Set)
Unicode编码方式(UTF(UCS Transformation Format))
UTF-8(窄字符)
Ascii 使用一个字节 0xxxxxxx,与Ascii相同
n个字节表示时,第一个字节开头n个1再加1个0,后续字节开头为10,如下:
双字节:
110xxxxx 10xxxxxx
三字节
1110xxxx 10xxxxxx 10xxxxxx
x部分为Unicode 对应字符值
如:‘中’字符Unicode值为0x4e2d 二进制表示:0100 1110 0010 1101
三字节表示为
1110xxxx 10xxxxxx 10xxxxxx
11100100 10111000 10101101
UTF-8 BOM
开头以"FEFF"开头,以UTF-8表示为efbbbf
UTF-16(宽字符)
使用2个字节或4个字节表示
UTF-32(宽字符)
使用4个字节表示
注:窄字符:编码使用变长字节
宽字符:编码使用固定长度
Unicode 大小端
开头如果是FEFF,表示大端
开头如果是FFFE,表示小端