字符集:ASCII ANSI UNICODE UTF GB2312 ...

ASCII :

全称: American Standard Code for Information Interchange.

简介:

标准ASCII 码使用7二进制来表示字符,一共128个,其中33为控制字符,其余为可打印字符。属于Single Byte Charecter Set(SBCS)。 

扩展ASCII使用了整个字节的8位,它增强了标准ASCII的能力,能够支持一些图形符号和一些特殊符号。 

但是,对于非英语国家来说,ASCII远远达不到使用需求,那怎么办?答案是ANSI

 

 

ANSI :

全称: American National Standards Institute

简介:

文本编辑类软件中通常会看到ANSI编码,但实际上,它不是一种特定的某种编码,相反,它包含了很多种编码。除了ASCII本身,其他编码都以ASCII为基础(也就是兼容ASCII)发展而来,通常使用双字节编码,即Double Byte Charecter Set(DBCS)。如:简体中文GB2312,繁体中文Big5,日文JIS

它具体指定的编码是the default code page for my system”,即当前系统环境下的默认语言编码,例如:对于英文系统是ASCII编码,对于简体中文是GB2312,繁体环境为Big5等。 

因为ANSI中的各种非ASCII编码中的编码互有重叠,会造成编码的混乱,如同一个字,可能简体,繁体,日文中都存在,但它们的编码却不一致!这样会使得网页或者软件在不同语言环境下很混乱,要时刻注意转码处理。于是,UNICODE来了。

 

 

UNICODE : 

简介:

Unicode出现的目的是为了解决ANSI造成的混乱现象。它实现了全世界范围内文字的统一编码。历史上,Unicode.org组织设计的unicodeISO组织的UCS(Universal Character Set )互不兼容,但自从unicode 2.0后,unicodeUCS就兼容了,可以看做等价物。 

Unicode事实上是指字符集,它包含了多种编码方法,常见的有UTF-8UTF-16UTF-32。但现实中在不同的软件环境下,可能有不同含义。如windows系统下,unicode编码一般是指带有BOM的小端UTF-16编码。

 

 

UTF-16/UCS-2: 

全称: Unicode/UCS transfer format 

简介:

UTF-16比起UTF-8,好处在于大部分字符都以2字节 编码,但UTF-16却无法兼容ASCII码。 

UTF-16包括三种:UTF-16,UTF-16BE(Big Endian),UTF-16LE(Little Endian)。大端和小端表示二进制数据存储方式。那么对于UTF-16怎么知道其存储方式呢?答案是使用BOM(Byte Order Mark)。该字符来表明文件是Big Endian还是Little Endian。BOM的值为0xFEFF。

 

 

UTF-8: 

简介:

UTF-8是变长字节编码,它使用1-4个字节来表示所有字符。如:ASCII码在UTF-8中只占用一个字节,因此UTF-8兼容ASCII。因此,UTF-8UTF-16等非常节省内存或者网络带宽。但是正因为可变长字节编码,所以在计算字符串长度的时候,效率没有固定字节编码方式的高。 

另一个重要的方面,UTF-8是以字节为编码单元,所以它没有字节序也就是大小端的问题,使其跨平台能力和容错能力很高,这一点跟UTF-16  UTF-32不同。

虽然不需要字节序,但是UTF-8也可以使用BOM。注意在Windows环境中UTF-8可能就添加了BOM

 

 

GB2312: 

简介:

GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。

GB 2312兼容ASCII,使用2个字节编码。虽然满足当时大陆的中文使用环境,但是汉字集合太少,不能编码孤僻汉字和繁体字。

 


GBK: 

简介:

GBK是微软实现的一套编码,也就是CP936,是对GB2312编码的扩展,但中国未将其做为国家标准。它增加了对繁体字的支持,能够适用于简繁中文共存的环境,但是它不能够跟Big5兼容,两者需要转换。 

GBK也使用2个字节编码,向下完全兼容GB2312。

 

 

GB18030: 

简介:

GB 18030,全称:国家标准GB 18030-2005《信息技术中文编码字符集》,是中华人民共和国现时最新的内码字集,是GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》的修订版。收录了27484个汉字,同时收录了藏文、蒙文、维吾尔文等主要的少数民族文字。  

GBK使用1,2,4字节编码,向下完全兼容GB2312,于GBK基本兼容。

 

 

相关术语: 

1) BOM:略

2) Big endian 、Little endian: 略。

3)  Code page:

Code page是一个描述字符集的列表,起初由IBM设计使用,随后微软 SAP等也采用这种表示法,用来映射编码。例如微软的code page中,GBK对应的code page是CP936,GB18030是CP54936。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值