常用字符集编码
- 格式: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: