unicode编码转换二进制
全国计算机应⽤基础知识:汉字、字符编码
  (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个主要环节,每⼀个汉字的编码都包括输⼊码、交换码、内部码和字形码。在计算机的汉字信息处理系统中,处理汉字时要进⾏如下的代码转换:输⼊码→交换码→内部码→字形码。以上简述了对汉字进⾏计算机处理的基本思想和过程,下⾯具体介绍汉字的4种编码。
  ①输⼊码。
  为了利⽤计算机上现有的标准西⽂键盘来输⼊汉字,必须为汉字设计输⼊编码。输⼊码也称为外码。⽬前,已申请专利的汉字输⼊编码⽅案有六七百种之多,⽽且还不断有新的输⼊⽅法问世,以⾄于有“万码奔腾”之喻。按照不同的设计思想,可把这些数量众多的输⼊码归纳为四⼤类:数字编码、拼⾳码、字形码和⾳形码。其中,⽬前应⽤最⼴泛的是拼⾳码和字形码。
  a. 数字编码:数字编码是⽤等长的
  数字串为汉字逐⼀编号,以这个编号作为汉字的输⼊码,如区位码、电XX等都属于数字编码。此种编码的编码规则简单,易于与汉字的内部码转换,但难于记忆,仅适⽤于某些特定部门。
  b. 拼⾳码:拼⾳码是以汉字的读⾳为基础的输⼊码。拼⾳码使⽤⽅法简单,⼀学就会,易于推⼴,缺点是重码率较⾼(因汉字同⾳字多),在输⼊时常要进⾏屏幕选字,对输⼊速度有影响。拼⾳码是按照汉语拼⾳编码输⼊,因此在输⼊汉字时,要求读⾳标准,不能使⽤⽅⾔。拼⾳码特别适合于对输⼊速度要求不是太⾼的⾮专业录⼊⼈员。
  c. 字形码:字形码是以汉字的字形结构为基础的输⼊编码。在微型计算机上⼴为使⽤的五笔字型码(王码)是字形码的典型代表。五笔字型码的主要特点为输⼊速度快,⽬前最⾼纪录为每分钟输⼊293个汉字(该记录为XXXX⼀⼥兵所保持),如此⾼的输⼊速度已达
  到⼈眼扫描的极限。但这种输⼊⽅法因要记忆字根、练习拆字,前期学习花费的时间较多。此外,有极少数的汉字拆分困难,给出的编码与汉字的书写习惯不⼀致。
  d. ⾳形码:⾳形码是兼顾汉字的读⾳和字形的输⼊编码。⽬前使⽤较多的⾳形码是⾃然码。
  ②交换码。
  交换码⽤于汉字外码和内部码的交换。我国于1981年颁布的《信息交换⽤汉字编码字符集·基本集》(代号为GB2312—1980)是交换码的国家标准,所以交换码也称为国标码。国标码是双字节代码,即有两个字节为⼀个汉字编码,每个字节的最⾼位为“1”。国标GB2312—1980收⼊常⽤汉字6763个(其中⼀级汉字3755个,按拼⾳顺序排列;⼆级汉字3008个,按部⾸顺序),其他字母及图形符号(如序号、数字、罗马数字、英⽂字母、⽇⽂假名、俄⽂字母
  和汉语注⾳等)682个,总计7445个字符。将这7445个字符按94⾏×94列排列在⼀起,组成GB2312—1980字符集编码表,表中的每⼀个汉字都对应于唯⼀的⾏号(称为区号)和列号(称为位号),根据区位号确定汉字的国标码值,分别⽤两个字节存放。由于篇幅所限,本书未列出GB2312—1980字符编码表,读者可参看有关书籍。
  ③内部码。
  内部码是汉字在计算机内的基本表⽰形式,是计算机对汉字进⾏识别、存储、处理和传输所⽤的编码。内部码也是双字节编码,将国标码两个字节的最⾼位都置为“1”,即转换成汉字的内部码。计算机信息处理系统就是根据字符编码的最⾼位是“1”还是“0”来区分汉字字符和ASCII码字符
的。
  ④字形码。
  字形码是表⽰汉字字形信息(汉字的结构、形状、笔画等)的编码,⽤来
  实现计算机对汉字的输出(显⽰、打印)。由于汉字是⽅块字,因此字形码最常⽤的表⽰⽅式是点阵形式,有16×16点阵、24×24点阵和
48×48点阵等。例如,16×16点阵的含义为:有256个点(16× 16=256)来表⽰⼀个汉字的字形信息,每个点有“亮”或“灭”两种状态,⽤⼀个⼆进制数的“1”或“0”来对应表⽰。因此,存储⼀个16×16点阵的汉字需要256个⼆进制位,共32个字节(256位/8位)。以上的点阵可根据汉字输出的不同需要进⾏选择,点阵的点数越多,输出的汉字就越精确、美观。汉字的字形点阵要占⽤⼤量的存储空间,通常将其以字库的形式存放在机器的外存中,需要时才检索字库,输出相应汉字的字形。
【全国计算机应⽤基础知识:汉字、字符编码】

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。