0x20以下为控制码,0x20为空格
ANSI的ASCII编码,定义0到127
128到255为扩展字符集
GB2312,对ASCII的中文扩展,取消掉扩展字符集,一个汉字由两个字节表示,第一个字节(高字节)从0xA1到0xF7,第二个字节(低字节)从0xA1到0xFE。两个字节为全角,原来127号以下为半角。
GBK是对GB2312的扩展,不再规定低字节大于127,只需要高字节大于127。包含繁体字。
GB18030是对GBK扩展,包含少数民族的字。
ISO组织为了统一各国,发明UNICODE,简称UCS
一个字符统一用两个字节表示,即使是英文,因此会造成英文用UNICODE编码浪费一半空间,一半与原来一样,另一半永远是0。
UTF(UCS Transfer Format)用于传输UNICODE。
UTF有UTF8和UTF16
UTF8可能为1个,2个,3个字节,按出现概率从高到低
BOM头 0xEF 0xBB 0xBF
为了标识为UTF-8编码,微软在记事本最开始插入BOM头
UNICODE和UTF-8转换
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
ANSI的ASCII编码,定义0到127
128到255为扩展字符集
GB2312,对ASCII的中文扩展,取消掉扩展字符集,一个汉字由两个字节表示,第一个字节(高字节)从0xA1到0xF7,第二个字节(低字节)从0xA1到0xFE。两个字节为全角,原来127号以下为半角。
GBK是对GB2312的扩展,不再规定低字节大于127,只需要高字节大于127。包含繁体字。
GB18030是对GBK扩展,包含少数民族的字。
ISO组织为了统一各国,发明UNICODE,简称UCS
一个字符统一用两个字节表示,即使是英文,因此会造成英文用UNICODE编码浪费一半空间,一半与原来一样,另一半永远是0。
UTF(UCS Transfer Format)用于传输UNICODE。
UTF有UTF8和UTF16
UTF8可能为1个,2个,3个字节,按出现概率从高到低
BOM头 0xEF 0xBB 0xBF
为了标识为UTF-8编码,微软在记事本最开始插入BOM头
UNICODE和UTF-8转换
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx