关于字符集和编码

关于字符集和编码

                                  ++YONG整理,转载请注明

1.       字节、字符、字符集和字符编码<o:p></o:p>

字节(byte):计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。<o:p></o:p>

字符(Character):是文字与符号的总称,包括文字、图形符号、数学符号等。<o:p></o:p>

字符集(Charset):即字符的集合,规定了在这些集合里面有哪些字符。<o:p></o:p>

字符编码(Encoding):就是规定用一个字节还是多个字节来存储一个字符,用固定的二进制码值表示某个字符。<o:p></o:p>

2.       常见字符编码

1.     <o:p> </o:p>

2.     <o:p> </o:p>

2.1.     ASCII字符编码<o:p></o:p>

它是由美国国家标准委员会制定的一种包括数字、字母、通用符号、控制符号在内的西文字符编码集,全称叫美国国家信息交换标准码,它是现今最通用的单字节编码系统。<o:p></o:p>

ASCII编码实际上只用了一个字节的7位,最前面的那位统一规定为0,一共能表示128 (27)个字符。如:字符 'a' 的编码为 0110 0001,相当于十进制整数97,字符 'A' 的编码为 0100 0001,十进制整数为65<o:p></o:p>

2.2.     ISO-8859-1字符编码<o:p></o:p>

又称Latin-1,是国际标准化组织(ISO)为西欧语言中的字符制定的编码,它用1个字节 (8) 来为字符编码,共可表示255个字符。与ASCII编码兼容。(所谓兼容,是指对于相同的字符,它的编码值相同)。<o:p></o:p>

ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流 都不会被抛弃。换而言之,把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题这是个很重要的特性,MySQL数据库默认编码是Latin1就是利用了这个特性。

2.3.     GB2312 字符编码<o:p></o:p>

GB2312 码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集——基本集》,由国家标准总局发布,198151日实施,通行于大陆。新加坡等地也使用此编码。<o:p></o:p>

GB2312包括对简体中文字符的编码,一共收录了7445个字符,包括6763个汉字和682个其他符号,未收录繁体中文汉字和一些生僻字。它与ASCII字符编码兼容。<o:p></o:p>

GB2312规定“对任意一个图形、字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。<o:p></o:p>

2.4.     GBK 字符编码<o:p></o:p>

199512月全国信息技术化技术委员会发布,它是对GB2312字符编码的扩展,向下完全兼容GB2312,收录了21886个字符,GBK编码能够用来同时表示繁体中文字符和简体中文字符。它区分为汉字区和图形符号区。汉字区包括21003个字符。GBK字符编码与GB2312字符编码兼容。<o:p></o:p>

GBK已经在WindowsLinux等多种操作系统中被实现。<o:p></o:p>

2.5.     GB18030字符编码<o:p></o:p>

GB18030 是最新的汉字编码字符集国家标准, 向下兼容 GBK GB2312 标准。收录了27484个汉字,编码空间约为160万码位。<o:p></o:p>

GB18030 编码是一二四字节变长编码。一字节部分从 0x0~0x7F ASCII 编码兼容。 二字节部分, 首字节从 0x81~0xFE, 尾字节从 0x40~0x7E 以及 0x80~0xFE, GBK 标准基本兼容。 四字节部分, 第一字节从 0x81~0xFE, 第二字节从 0x30~0x39, 第三和第四字节的范围和前两个字节分别相同。 四字节部分覆盖了从 0x0080 开始, 除去二字节部分已经覆盖的所有 Unicode 3.1 码位。也就是说, GB18030 编码在码位空间上做到了与 Unicode 标准一一对应,这一点与 UTF-8 编码类似。<o:p></o:p>

2.6.     BIG5<o:p></o:p>

BIG5 是通行于台湾、香港地区的一个繁体字编码方案。虽然存在一些瑕疵,但广泛应用于电脑行业,尤其是互联网中,从而成为一种事实上的行业标准。<o:p></o:p>

198310月,台湾国家科学委员会、教育部国语推行委员会、中央标准局、行政院共同制定了《通用汉字标准交换码》,后经修订于19925月公布,更名为《中文标准交换码》,BIG5 是台湾资讯工业策进会根据以上标准制定的编码方案。<o:p></o:p>

BIG5 码是双字节编码方案,其中第一个字节的值在 OXAO-OXFE 之间,第二个字节在 OX40-OX7E OXA1-OXFE 之间。BIG5 收录 13461 个汉字和符号。<o:p></o:p>

2.7.     Unicode 字符编码<o:p></o:p>

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。<o:p></o:p>

20066月的最新版本的 Unicode 2005331日推出的Unicode 4.1.0 另外,5.0 Beta已于20051212日推出,以供各会员评价。<o:p></o:p>

Unicode有两套编码方式:<o:p></o:p>

l  2个字节(16)编码,采用这个编码方案的字符集被称为UCS-2UCS是指采用Unicode字符编码的通用字符集)。Java语言采用的就是两个字节的编码方式。<o:p></o:p>

阅读更多

没有更多推荐了,返回首页