Java中编码以及Unicode总结

上传人:宝路 文档编号:20891365 上传时间:2017-11-22 格式:DOC 页数:15 大小:105.62KB
返回 下载 相关 举报
Java中编码以及Unicode总结_第1页
第1页 / 共15页
Java中编码以及Unicode总结_第2页
第2页 / 共15页
Java中编码以及Unicode总结_第3页
第3页 / 共15页
Java中编码以及Unicode总结_第4页
第4页 / 共15页
Java中编码以及Unicode总结_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Java中编码以及Unicode总结》由会员分享,可在线阅读,更多相关《Java中编码以及Unicode总结(15页珍藏版)》请在金锄头文库上搜索。

1、Java 中编码以及 Unicode 总结1. 基本概念 bit 位只能是 0 或者 1 byte 字节一个字节是 8 位,1 byte=8 bits 计算机表示的基本单位 KB,MB,GB,TB,PB 是以 1024 与 byte 进行换算 进制 用符号进行计数 十进制、二进制、八进制(011)、十六进制(0xFF)字符文字和符号的总称 字符集 多个字符集合的总称。ASCII 字符集、GB2312 字符集、GBK 字符集、BIG5字符集、GB18003 字符集、Unicode 字符集 byte 可表示 28=256 个字符的表示0 000 0000,00001 001 0000,00012

2、001 0000,0010127 07F 0111,1111-128 080 1000,0000-2 0xFE 1111,1110-1 0xFF 1111,1111 以补码的形式表示的二进制编码。-2 的表示,2=0000,0010, 反码 1111,1101,补码= 反码+1=111111101111,1110 表示的就是 1111,1110-1=1111,1101,取反就是 0000,0010 也就是 2,所以就是-22. 字符集和编码2.1.字符(Character)字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。2.2. 字符集(Character Set

3、)一组抽象字符的集合就是字符集(Character Set)。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。字符集的子集也是字符集。计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。根据字符集内字符的多少,会确定用几个字节来编码。每种编码都限定了一个明确的字符集合,叫做被编码过的字符集 (Coded Character Set

4、),这是字符集的另外一个含义。通常所说的字符集大多都是指编码字符集(Coded Character Set)。2.2.1. ASCII 字符集ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于罗马字母表的一套电脑编码系统。由美国国家标准局(ANSI)制定。7 位,可以表示 27=128 个字符。在计算机的存储单元中,一个 ASCII 码值占一个字节(8 个二进制位) ,其最高位(b7) 用作奇偶校验位。 7 位编码的字符集只能支持 128 个字符,为了表示更多的欧洲常用字符对 ASCII 进行了扩展,A

5、SCII 扩展字符集使用 8 位(bits)表示一个字符,共 256 字符。ASCII 扩展字符集比 ASCII 字符集扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号。2.2.2. GB2312 字符集GB2312 又称为 GB2312-80 字符集,全称为信息交换用汉字编码字符集?基本集 ,由原中国国家标准总局发布,1981 年 5 月 1 日实施。在中国大陆和新加坡获广泛使用。GB2312 收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括 6763 个汉字,其中一级汉字 3755 个,

6、二级汉字 3008 个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的 682 个全角字符。GB2312 中对所收汉字进行了“分区”处理,每区含有 94 个汉字/符号。这种表示方式也称为区位码。各区包含的字符如下:01-09 区为特殊符号 ;16-55 区为一级汉字,按拼音排序;56-87 区为二级汉字,按部首 /笔画排序;10-15 区及 88-94 区则未有编码。两个字节中前面的字节为第一字节,后面的字节为第二字节。习惯上称第一字节为“高字节” ,而称第二字节为“低字节” 。 “高位字节”使用了 0xA1-0xF7 (把 01-87 区(88-94 区未有编码) 的区

7、号加上 0xA0), “低位字节”使用了 0xA1-0xFE (把 01-94 加上 0xA0)。以 GB2312 字符集的第一个汉字“啊”字为例,它的区号 16,位号 01,则区位码是1601,在大多数计算机程序中,高字节和低字节分别加 0xA0 得到程序的汉字处理编码0xB0A1。计算公式是: 0xB0=0xA0+16, 0xA1=0xA0+1。2.2.3. GBK 字符集GBK 全名为汉字内码扩展规范,英文名 Chinese Internal Code Specification。K 即是“扩展”所对应的汉语拼音(KuoZhan11)中“扩”字的声母。GBK 来自中国国家标准代码 GB

8、13000.1-93。GBK: 汉字国标扩展码 ,基本上采用了原来 GB2312-80 所有的汉字及码位,并涵盖了原 Unicode 中所有的汉字 20902,总共收录了 883 个符号, 21003 个汉字及提供了 1894 个造字码位。 (GBKH-0xB0)*0x5E+(GBKL-0xA1)*(汉字离散后每个汉字点阵所占用的字节)GBK 是 GB2312 的扩展,是向上兼容的,因此 GB2312 中的汉字的编码与 GBK 中汉字的相同。另外,GBK 中还包含繁体字的编码。GBK 中每个汉字仍然包含两个字节,第一个字节的范围是 081-0xFE(即 129-254) ,第二个字节的范围是

9、040-0xFE(即 64-254) 。GBK 中有码位 23940 个,包含汉字 21003个。2.2.4. BIG5 字符集又称大五码或五大码,1984 年由台湾财团法人信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大众 (FIC)创立,故称大五码。Big5 码的产生,是因为当时台湾不同厂商各自推出不同的编码,如倚天码、IBM PS55、王安码等,彼此不能兼容;另一方面,当时尚未推出官方的汉字编码,而中国大陆的 GB2312编码亦未有收录繁体中文字。Big5 字符集共收录 13,053 个中文字,该字符集在中国台湾使用。耐人寻味的是

10、该字符集重复地收录了两个相同的字:“兀”(0xA461 及 0xC94A)、 “嗀”(0xDCD1 及 0xDDFC)。Big5 码使用了双字节储存方法,以两个字节来编码一个字。第一个字节称为“高位字节” ,第二个字节称为“低位字节” 。高位字节的编码范围 0xA1-0xF9,低位字节的编码范围 040-07E 及 0xA1-0xFE。各编码范围对应的字符类型如下: 0xA140-0xA3BF 为标点符号、希腊字母及特殊符号,另外于 0xA259-0xA261,存放了双音节度量衡单位用字:兙兛兞兝兡兣嗧瓩糎;0xA440-0xC67E 为常用汉字,先按笔划再按部首排序;0xC940-0xF9D

11、5为次常用汉字,亦是先按笔划再按部首排序。 2.2.5. GB18030 字符集GB 18030 的全称是 GB18030-2000信息交换用汉字编码字符集基本集的扩充 ,是我国政府于 2000 年 3 月 17 日发布的新的汉字编码国家标准, 2001 年 8 月 31 日后在中国市场上发布的软件必须符合本标准。GB 18030-2000 收录了 27533 个汉字,GB 18030-2005收录了 70244 个汉字。GB18030 的总编码空间超过 150 万个码位。GB 18030 字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符集计算机编码问题。该标准的字符总编码空

12、间超过 150 万个编码位,收录了 27484 个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。并且与Unicode 3.0 版本兼容,填补 Unicode 扩展字符字汇“统一汉字扩展 A”的内容。并且与以前的国家字符编码标准(GB2312, GB13000.1)兼容。GB 18030 标准采用单字节、双字节和四字节三种方式对字符编码。单字节部分使用000 至 07F 码(对应于 ASCII 码的相应码 )。双字节部分,首字节码从 081 至 0FE,尾字节码位分别是 040 至 07E 和 0

13、80 至 0FE。四字节部分采用 GB/T 11383 未采用的 030 到 039 作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为081308130 到 0FE39FE39。其中第一、三个字节编码码位均为 081 至 0FE,第二、四个字节编码码位均为 030 至 039。双字节部分收录内容主要包括 GB13000.1 全部 CJK 汉字 20902 个、有关标点符号、表意文字描述符 13 个、增补的汉字和部首 /构件 80 个、双字节编码的欧元符号等。四字节部分收录了上述双字节字符之外的,包括 CJK 统一汉字扩充 A 在内的 GB 13000.1 中的全部字符。2.2.6.

14、ANSI 编码不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。 ”DBCS”(Double Byte Charecter Set 双字节字符集) 。在 DBCS 系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此他们写的程序为了支持中文处理,必须要注意字串里的每一个字节的值,如果这个值是大于 127 的,那么就认为一

15、个双字节字符集里的字符出现了。汉字编码范围名称 第一字节 第二字节GB2312 0xB0-0xF7(176-247) 0xA0-0xFE(160-254)GBK 081-0xFE(129-254) 040-0xFE(64-254)Big5 081-0xFE(129-255) 040-07E(64-126)或者 0xA10xFE(161-254)2.3.字符集编码(Character Set Encoding)ASCII,GB2312,GBK,BIG5,GB18030, UCS,Utf-8,utf-16,utf-32 都有自己不同的规则,都有自己的对应规则,但都兼容 ASCII。在使用时要注意这

16、些编码相互之间的转换规则。对于没有转换规则的编码体系之间进行转换只能依靠查编码表进行。2.4. ISO 的编码体系2.4.1. ASCII 编码ASCII 的编号是 ISO-646。2.4.2. ISO8859 编码ISO 8859,全称 ISO/IEC 8859,是国际标准化组织(ISO) 及国际电工委员会 (IEC)联合制定的一系列 8 位字符集的标准,现时定义了 17 个字符集。 ISO 8859-1 (Latin-1) 西欧语言 ISO 8859-2 (Latin-2) 中欧语言 ISO 8859-3 (Latin-3) 南欧语言。世界语也可用此字符集显示。 ISO 8859-4 (Latin-4) 北欧语言 ISO 8859-5 (Cyrillic) 斯拉夫语言 ISO 8859-6 (Arabic) 阿拉伯语 ISO 8859-7 (Greek) 希腊语 ISO 8859-8 (Hebrew)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号