常用字符集编码

  • 格式:pdf
  • 大小:94.58 KB
  • 文档页数:2

常⽤字符集编码

简介

常见的编码格式有ASCII、ISO-8859-1、GB2312、GBK、GB18030、UNICODE等,其中GB2312、GBK、GB18030、UTF-8、UTF-16都

可以⽤来表⽰中⽂。

为什么有编码

计算机中最⼩的存储单位是字节(byte),⼀个字节所能表⽰的字符数⼜有限,1byte=8bit,⼀个字节最多也只能表⽰255个字符,⽽世界上

的语种⼜多,都有各种不同的字符,⽆法⽤⼀个byte表⽰,所以java中的char表⽰字符就是来解决这种编码问题的,⼀个char占两个字节,

所以从char到最⼩单位byte之间必须经过编码。

常⽤编码

ASCII

全称为American Standard Code for Information Interchange,美国信息交换标准代码,这是世界上最通⽤的单字节编码系统,主要⽤来显

⽰现代英语及其他西欧语⾔。

ASCII码⽤7位表⽰,只能表⽰128个字符,0~31表⽰控制字符如回车、退格、删除等;32~126表⽰打印字符即可以通过键盘输⼊并且能

显⽰出来的字符,

其中48~57为0到9⼗个阿拉伯数字,65~90为26个⼤写英⽂字母,97~122号为26个⼩写英⽂字母,其余为⼀些标点符号、运算符号等,

具体可以参考ASCII标准表。

最顶端1位⼆进制为0

ISO-8859-1

既然ASCII只能表⽰128个字符,显⽰是不能完全表⽰完的,所以ISO-8859-1扩展了ASCII编码,在ASCII编码之上⼜增加了西欧语⾔、希腊

语、泰语、阿拉伯语、希伯来语对应的⽂字符号,它是向下兼容ASCII编码的。

ISO-8859-1也是单字节编码,但它是⼀个8位的容器,它能表⽰256个字符。

最顶端1位也⽤来表⽰具体含义

GB2312

全称为信息交换⽤汉字编码字符集,是中国于1980年发布,主要⽤于计算机系统中的汉字处理。GB2312主要收录了6763个汉字、682个符

号。

GB2312覆盖了汉字的⼤部分使⽤率,但不能处理像古汉语等特殊的罕⽤字,所以后来出现了像GBK、GB18030这种编码。

每个汉字及符号以两个字节来表⽰,通常采⽤EUC储存⽅法,以便兼容于ASCII。

GBK

GBK,全称为Chinese Internal Code Specification,即汉字内码扩展规范,于1995年制定。它主要是扩展了GB2312,在它的基础上⼜加了

更多的汉字,它⼀共收录了21003个汉字。

GBK是向下兼容GB2312编码的,也就是说GB2312编码的汉字可以⽤GBK正常解码不会出现乱码,但⽤GBK编码的汉字⽤GB2312解码就

不⼀定了。

不管中英⽂都是以两个字节来表⽰

GB18030

GB18030全称汉字内码扩展规范,是现在最新的内码字集于2000年发布,并于2001年强制执⾏,包含了中国⼤部分少数民族的语⾔字符,

收录汉字数超过70000余个。

它主要采⽤单字节、双字节、四字节对字符编码,它是向下兼容GB2312和GBK的,虽然是我国的强制使⽤标准,但在实际⽣产中很少⽤

到,⽤得最多的反⽽是GBK和GB2312。

ANSI

ANSI不是⼀种编码,他是微软为了满⾜不同的客户需求,⽽在系统中默认的⼀种编码,即美国国内的系统默认就⽤ASCII编码,中国⼈的系

统默认就⽤GBK编码,韩国⼈的系统默认就⽤EUC-KR编码。相关⽂章

unicode家族:

16进制字符串和byte数组进⾏相互转换:

参考

ANSI:

ASCII、ISO-8859-1、GB2312: