简要描述ASCII、GBK、Unicode、UTF-8几种字符编码

字符:人们使用的记号,抽象意义上的一个符号。如:‘你’、‘我’,‘他’,‘a’,‘&’等……
字节:计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。

       我们知道,人类可以很容易地识别和理解字符,而计算机只能识别一个二进制的字符串,每个二进制位(bit)有0和1两种状态,如‘10011001’。所以当我们想要计算机存储某个字符时,该如何表示呢?机智的你肯定想到,将字符和二进制字符串一一对应起来,存储时计算机只要存储相对应的二进制字符串就可以了。没错,这种将字符映射到唯一一种状态(二进制字符串)的规则,就是编码。

1.ASCII(American Standard Code for Iformation Interchange,美国信息互换标准代码)
       开始计算机只在美国用,人们发现将所有的英文字母和特殊符号进行编码,只需要127种状态,而一个8位的二进制字符串可以组合出256(2的8次方)种不同的状态,美国人民觉得,嗯,一个字节足以表示所有的英文文字了。因此,最早的字符编码ASCII也被称为单字节字符集。

2.GB2312
       随着计算机的普及,当中国人使用计算机时,发现ASCII剩下的字节状态已经不能够表示中国的常用汉字,于是,在ASCII的基础上,人们制定了一套新的规则:一个小于127的字节(二进制字符串)的意义与原来相同,但两个大于127的字节连在一起时,就表示一个汉字,前面的一个字节(称为高字节)从OxA1用到OxF7,后面一个字节(称为低字节)从OxA1用到OxFE,这样我们就可以组合出大约7000多个简体汉字了。在这些编码里,数学符号、罗马希腊的字母等也被编进去了,而在ASCII里本来就有的数字、标点、字母也都全部重新编了两个字节长的编码,这就是常说的“全角”字符,而原来在127以下的那些就叫“半角”字符了。这种编码方案就叫GB2312。

3.GBK
       但是中国的汉字实在太多了,人们发现GB2312支持的汉字完全不够用,于是继续将GB2312没有用到的码位找出来用上,后来发现还是不够用,就干脆不再要求低字节一定是127之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。这种扩展之后的编码方案被称为GBK,增加了近20000个新的汉字(包括繁体字)和符号。

4.GB18030
       2000年,GBK扩展为GB18030,新增了藏文、蒙文、维吾尔文等主要的少数民族文字。

       从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是相同的编码,后面的标准支持更多的字符。GB2312、GBK和GB18030又被通称为DBCS(Double Byte Charecter Set,双字节字符集)

5.Unicode(Universal Multiple-Octet Coded Character Set,统一码/万国码/单一码)
       显然,世界上除了英文和汉字,还有很多其他语言,上述编码方案明显不能支持其他语言,因此当时每个国家都像中国这样制定出一套自己的编码标准,但结果是互相之间谁也不懂谁的编码,谁也不支持别人的编码。为了解决这个问题,ISO(国际标准化组织)决定:废了所有的地区性编码方案,重新推出一种包含地球上所有文化、所有字母和符号的编码,即Unicode。
       Unicode规定必须使用两个字节,也就是16位来统一表示所有的字符。对于ASCII里的那些“半角”字符,Unicode保持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则重新统一编码。由于“半角”英文字符只需要用到低8位,所以其高8位永远是0,所以这种编码方案在保存英文文本时会多浪费一倍的空间。

6.UTF-8

       UTF-8是一种变长编码方式,使用1-4个字节进行编码。是对Unicode编码的压缩和优化,完全兼容ASCII编码,对ASCII码中的内容用1个字节保存,欧洲的字符用2个字节保存,东亚的字符用3个字节保存……


参考文章:http://blog.csdn.net/fanwenbo/article/details/2298800

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值