ANSI GB2312 GBK UTF的关系

本文介绍了ASCII、GB2312、GBK、GB18030等编码标准及其演化过程,并详细阐述了UNICODE与UTF-8之间的转换原理。通过本文可以了解不同编码方式的特点及适用场景。
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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值