汉字编码(1 基础知识)

4.1)基础知识
4.1.1) GB2312
范围: 0xA1A1--0xFEFE
汉字范围: 0xB0A1--0xF7FE
编码方式:
GB2312规 定"对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示",习惯上称第一个字节为"高字节",第二个字节为"低字节"。
字符集:
       GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。
与ASCII有重叠,通行方法是将GB码两个字节的最高位置1以示区别。
背景知识:
GB2312 码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集--基本集》,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。该字符集是几乎所有的中文系统和国际化的软件都支持的中文字符集,这也是最基本的中文字符集。其编码范围是高位 0xa1-0xfe,低位也是0xa1-0xfe; 汉字从0xb0a1开始,结束于0xf7fe。16-87区为汉字区 0xb0-0xf7)。故而GB2312最多能表示6763个汉字。
备注:
·         GB2312 的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上 A0
·         DBCS 中, GB 内码的存储格式始终是 big endian ,即高位在前。
·         GB2312 的两个字节的最高位都是 1 。但符合这个条件的码位只有 128*128=16384 个。所以 GBK GB18030 的低字节最高位都可能不是 1 。不过这不影响 DBCS 字符流的解析:在读取 DBCS 字符流时,只要遇到高位为 1 的字节,就可以将下两个字节作为一个双字节编码,而不用管低字节的高位是什么。
关键词: 中国国家标准, gb2312, 汉字:
4.1.2)GBK
范围:0×8140 - 0xFEFE
汉字范围:
GBK/2:OXBOA1-F7FE, 收录 GB2312 汉字 6763 个,按原序排列;
GBK/3:OX8140-AOFE,收录 CJK 汉字 6080 个;
GBK/4:OXAA40-FEAO,收录 CJK 汉字和增补的汉字 8160 个。
编码方式:
GBK 亦采用双字节表示,总体编码范围为 8140-FEFE 之间,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 XX7F 一条线。
字符集:
GBK 共收入21886个汉字和图形符号,包括:
GB2312 中的全部汉字、非汉字符号;
BIG5 中的全部汉字;
与 ISO-10646 相应的国家标准 GB13000 中的其它 CJK 汉字;
以上合计 20902 个汉字。
其它汉字、部首、符号,共计 984 个。
背景知识:
       GBK 向下与 GB2312 完全兼容,向上支持 ISO-10646 国际标准,是一种过渡时期的编码实现方式。
GBK是GB2312-80的扩展,是向上兼容的。它包含了20902个汉字,其编码范围是0x8140-0xfefe,剔除高位0x80的字位。其所有字符都可以一对一映射到Unicode2.0。
备注:
微软公司自Windows 95 简体中文版开始支持 GBK 代码,标准叫法是 Windows codepage 936,也叫做 GBK(国家标准),它也是 8-bit 的变长编码。据我所知 GBK从来没成为正式的国家标准,只不过因为Windows 的普及,它已经成为事实上的标准了。但目前的多数搜索引擎都不能很好地支持 GBK 汉字。
 
4.1.3) TW-BIG5:大五码
范围:0xA140 - 0xF9FE, 0xA1A1 - 0xF9FE
编码方式:
每个字由两个字节组 成,其第一字节编码范围为0xA1~0xF9,第二字节编码范围为0×40~0×7E与0xA1~0xFE。
字符集:
总计收入13868个字 (包括5401个常用字、7652 个次常用字、7个扩充字、以及808个各式符号)。
背景知识:
Big5是台湾的IIIT1984年发明的,CNS 11643-1992( Chinese National Standard)是扩展版本,主要大家用的还是big5。BIG5又称大五码或五大码,1984年由台湾财团法人信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大众 (FIC)创立,故称大五码。
 
4.1.4)unicode
国际标准组织于1984年4月成立ISO/IECJTC1/SC2/WG2工作组,针对各国文字、符号进行统一性编码。1991年美国跨国公司成立UnicodeConsortium,并于1991年10月与WG2达成协议,采用同一编码字集。 目前 Unicode 是采用 16 位编码体系,其字符集内容与ISO10646的 BMP(BasicMultilingualPlane)相同。
编码方法: Unicode 标准始终使用十六进制数字,而且在书写时在前面加上前缀 “U+” ,例如字母 “A” 的编码为 004116 。所以 “A” 的编码书写为 “U+0041”
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全国计算机应⽤基础知识:汉字、字符编码   (1)计算机中的信息单位   计算机中对信息表⽰的单位有位、字、字长及字节等,它们是⽤来表⽰信息量的⼤⼩的基本概念。    位:计算机中数据存储的最⼩单位是⼀个⼆进制位,简称位,英⽂为bit,⾳译为⽐特,可⽤⼩写字母b表⽰。    字节:⼋位⼆进制位称为⼀个字节,英⽂为Byte,可⽤⼤写字母B表⽰,是计算机存储的基本单位。⼀个字节的⼋位⼆进制数,其位编号⾃ 左⾄右为b7、b6、b5、b4、b3、b2、b1、b0。在计算机中,往往⽤字节数来表⽰存储容量,容量可以以KB、MB、GB、TB为单位,它们相互之 间的转换关系如下:   1KB=210B=1024B   1MB=210KB=1024KB   1GB=210MB=1024MB   1TB=210GB=1024GB    字:计算机在存储、传送或操作时,作为⼀个整体单位进⾏操作的⼀组⼆进制,称为⼀个计算机字,简称字。    字长:每个字所包含的位数称为字长。由于字长是计算机⼀次可处理的⼆进制数的位数,因此它与计算机处理数据的速率有关,是衡量计 算机性能的⼀个重要因素。   (2)字符的编码。    ASCII码。   计算机只能识别⼆进制数,因此计算机中的数字、字母、符号也必须⽤⼆进制进⾏编码编码⽅法有多种,微型机中普遍采⽤的是ASCII码 (美国标准信息交换码),ASCII码现已被国际标准化组织(ISO)接收为国际标准,称为ISO-646。ASCII码有7位版本和8位版本两种,国际上通 ⽤的ASCII码是7位版本。7位版本的ASCII码包含10个阿拉伯数字、52个英⽂⼤⼩写字母、32个标点符号和运算符及34个控制码,共128个字符, 所以可⽤7位⼆进制数表⽰。7位ASCII码字符如下图所⽰:   要确定⼀个数字、字母、符号或控制字符的ASCII码,可在表中先找出它的位置,然后确定它所对应的⼗进制值或⼆进制值。例如⼩写字 母"a"的ASCII码其⼗进制值是97,⼆进制值是1100001B(B表⽰⼆进制数),若转换成⼗六进制,其值是61H(H表⽰⼗六进制数)。从表中可以 看出,数字0~9的ASCII码是30H~39H(后缀H表⽰是⼗六进制数),⼤写字母A~Z的ASCII码是41H~5AH,⼩写字母a~z的ASCII码是61H~ 7AH。字符⼤⼩的⽐较就是看它的ASCII码值的⼤⼩。   表中,NUL、BEL、LF、FF、CR、DEL等是控制字符,NUL表⽰空,BEL是告警符,BS是退格符,LF是换⾏符,FF是换页符,CR是回车 符,SP是空格符,DEL是删除符。    BCD码。   ⽤计算机处理数字时,要进⾏⼆进制与⼗进制的相互转换,这就要⽤⼆进制对⼗进制数进⾏编码,BCD(Binary Coded Decimal)码是⼆进 制编码的⼗进制数。最常⽤的BCD码就是8421BCD码,   它是⽤4位⼆进制数为⼀组表⽰⼀个⼗进制数字,4位⼆进制数从左到右其位权依次为8、4、2、1,它可以组合成16种状态,对0~9这10个数 字的编码只取0000~1001这前10种状态,其余6种状态不⽤。为了能对⼀个多位⼗进制数进⾏编码,需要有和⼗进制数的位数⼀样多的4位⼆进制 组,按顺序分别进⾏编码。表1-4表⽰8421BCD码与⼗进制数的对应关系。   表1-4 BCD码与⼗进制数的对应关系    Unicode编码   ASCII码提供了128个字符,扩展的ASC码提供了256个字符,但⽤来表⽰世界各国的⽂字编码还显得不够,还需要表⽰更多的字符和意义,因 此⼜出现了Unicode编码。   Unicode是⼀种16位的编码,能够表⽰65000多个字符或符号。⽬前世界上的各种语⾔⼀般所使⽤的字母或符号在34000个左右,所以 Unicode编码可以⽤于任何⼀种语⾔。Unicode编码与现在流⾏的ASCII码完全兼容,⼆者的前256个符号是⼀样的。   (3)汉字的编码   汉字是⼀种象形⽂字,字数极多(现代汉字中仅常⽤字就有六七千个,总字数⾼达5万个以上),且字形复杂,每⼀个汉字都有"⾳、形、 义"三要素,同⾳字、异体字也很多,这些都给汉字的计算机处理带来了很⼤的困难。要在计算机中处理汉字,必须解决以下⼏个问题:⾸先,是 汉字的输⼊,即如何把结构复杂的.⽅块汉字输⼊到计算机中去,这是汉字处理的关键;其次,汉字在计算机内如何表⽰和存储,如何与西⽂兼 容;最后,如何将汉字的处理结果从计算机内输出。为此,必须将汉字代码化,   即对汉字进⾏编码对应于上述汉字处理过程中的输⼊、内部处理及输出这3个主要环节,每⼀个汉字的编码都包括输⼊码、交换码、内部码 和字形码。在计算机的汉字信息处理系统中,处理汉字时要进⾏如下的代码转换:输⼊码 交换码 内部码 字形码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值