ASCII、GB2312、GBK、UTF-8编码

ASCII

使用1个字节来存储,例如 01110101,因为该编码字符集总数为2的7次方即128个,所以第一位用不到,默认为0

GB2312 

兼容ASCII编码,当ASCII表中包含该字符时,则使用1个字节来存储,当不包含时,则使用2个字节来存储,大概包含常用汉字和图形字符7000+个

GBK

全部使用2个字节来存储,占16位,扩展到了2万+个字符,后来在GBK基础上推出了gb18030,大概包含7W个字符,其中还包含了中日韩统一表意文字

UTF-8

1. 长度并不固定,ASCII表中的仍然占用1个字节,中文占用3个字节

2. 因为数据实际以0和1的方式存储,需要以一种编码方式来区分不同数据间的边界

例如:

当字符占用1个字节时,二进制首位为0,其余7位用来表示值

当字符占用2个字节时,第一个字节前3位为110,之后每个字节前两位都用10来关联

当字符占用3个字节时,第一个字节的前4位为1110,之后每个字节前两位都用10来关联

依次类推

 

3. 编码方式:每个字节都由标记位 + 数据位组成,如下表,红色为标记位,蓝色为数据位

字节数第一字节第二字节第三字节
1字节0xxxxxxx  
2字节110xxxxx10xxxxxx 
3字节1110xxxx10xxxxxx10xxxxxx

4. 转换方式:去掉标记为,将数据位连接起来,然后转成10进制,则为字符集中对应ID

字节数第一字节第二字节第三字节

连接起来的2进制

(去掉标记位后的)

十进制
2字节1100010010000010-00100000010258
3字节1110001110000101100010100001100010100101012618

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值