字符集的初步认识

1.     编码
计算机存储的信息都是用二进制表示的,我们在屏幕上看到的文字、图片,都是通过二进制转换的结果。编码是信息从一种形式转换为另一种形式的过程。
n位的二进制数可以组合成2的n次方个不同的信息,给每个信息规定一个具体的编码组,这种过程叫做编码。

2.     解码
在编码和解码中,他们就如同加密、解密一般,他们一定会遵守某个规则,比如Y=F(X);那么X=F(Y),否则在解密过程中,就会导致乱码。

3.     字符
字符是可使用多种不同的字符方案或代码页来表示的抽象实体,它是一个单位的字形、类字形单位,或者符号的基本信息,也是各种文字和符号的总称。
字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、%......。在ACSII码中,一个英文字符存储需要1个字节,在GB2312中一个汉字字符存储需要2个字节,在UTF-8编码中,一个英文字母存储需要一个字节,一个汉字字符存储需要三到四个字节,在UTF-16编码中,一个英文或者汉字字符存储都需要两个字节。在UTF-32编码中,世界上任何字符存储都需要四个字节。

4.     字符集
字符是各种文字和符号的总称,那么字符集就是多个字符的组合,每个字符集包含的字符不同,而计算机要尊却的处理各种字符集文集,需要进行字符编码,以便计算机能够识别和存储各种文字。
常见的字符集有ACSII字符集、GB2312字符集、BIG5字符集、Unicode字符集等等。

5.     字符编码
计算机中的信息包括数据信息和控制信息,而不管是哪种信息,他们都是以二进制编码的方式存入计算机中,但是他们是怎么展示在屏幕上的呃?就是字符编码起的作用!字符编码是一套规则,一套建立在符号集合和数字系统之间的对应关系上的规则,它是信息处理的基本技术。
使用字符编码这套规则能够对自然语言的字符的一个集合(例如字母或者音节表)与其他东西的一个集合(例如号码或者电脉冲)进行配对。



 

 

常见的字符编码

    计算机要准确地处理各种字符集文字,需要进行字符编码,以便计算机能够进行识别和存储各种文字,常见的字符编码包括ACSII编码,GBK编码,Unicode

1.     ACSII

是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它使用指定的7位或者8位二进制数字组合表示128或者256种可能的字符,标准的ACSII编码使用的是7位(2的7次幂=128)位二进制来表示所有的大小写字母、数字、标点符号和一些特殊的控制字符,最前面的一位统一规定为0。0-31以及127共33个是控制字符和通信专用字符,32-126共95个是字符(32是空格),48-57是9位阿拉伯数字,65-90是大写英文字幕,97-122是小写英文字母,其余为一些标点符号、运算符号。


2.     GBK编码

ACSII最大的缺点就是显示字符有限,虽然解决了部分西欧语言的显示问题,但是对于更多的其他语言实在是无能为力了,例如,为了显示中文,就必须设计一套编码规则用于将汉字转换为计算机可以接受的。

(1)     GB2312

用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆,它的编码规则是,小于127的字符与原来相同,但两个大于127的字符连载一起时,就表示一个汉字,前面的一个字节从0xA1到0XF7,后面的一个字节,我们称之为低字节,从0XA1到0XFE这样我们就可以组合出7000多个汉子,覆盖率可以达到99%。

(2)     GB18030
全称国家标准GB18030,它的主要特点是在GBK基础上增加了CJK同意汉字扩充A的汉字。

(3)     GBK
汉字编码标准之一,全称《汉字内码扩展规范》,它乡下与GB2312编码兼容,向上支持ISO10646.1国际标准

3.     Unicode编码
  正如前面所提到的一样,世界存在那么多国家,也存在着多种编码风格,像中文的GB232、GBK\GB18030,这样乱搞一套,虽然在本地运行没有问题,但是一旦出现在网络上,由于互相不兼容,访问则会出现乱码,Unicode就是为了解决这一问题而腾空出世的。
Unicode编码的作用就是能够使计算机实现跨平台,跨语言的文本转换和处理,它几乎包含了世界上所有的符号,并且每一个符号都是独一无二的。
所以它又称统一码,万国码。

4.     Utf-8
  互联网的普及,强烈要求出现一种统一的编码方式,UTF-8就是互联网上使用最广泛的一种Unicode的实现方式,其他方式还包括UTF-16、UTF-32,重要的事情说三遍!UTF-8是Unicode的实现方式之一!UTF-8是Unicode的实现方式之一!UTF-8是Unicode的实现方式之一!
UTF-8的最大的特点就是,它是一种变长的编码方式,它可以使用1-4个字节表示一个符号,根据不同的符号变换字节长度。
UTF-8的编码规则很简单,只有两条

(1)     对单字节的符号,字节的第一位设置为0,后面7位位这个字符的Unicode码,因此对于英文字母,UTF-8和ACSII码是相同的。

(2)     对于N字节的符号(n>1),第一个字节的N位都设为1,第N+1位设为0,后面字节的前两位一律设为10,剩下的没有提及的二进制位,全部是这个符号的Unicode码。


参考文献&更多阅读

http://blogread.cn/it/article/7374



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值