汉字也可以用和字符相同的方法编码表示。由于汉字个数多,采用一个字节的编码方法显然不行,因此,可采用两个字节或多于两个字节来表示一个汉字的编码方法。GB2312—80码就是根据这样的方法制定的汉字编码的中国政府标准。因GB2312—80码只编码了常用的6763个汉字,所以GB2312—80码也称为常用汉字编码。在GB2312—80码中,汉字“啊”的二进制编码为10110000 10100001。汉字“啊”的二进制码具体格式如图2-7所示。......
2023-11-18
西文是线性文字,字符数量少,而汉字是表意文字,属于大字符集,字符数量巨大,这给汉字在计算机内的表示、传输、处理、输入和输出带来了一系列的问题。
(1)汉字输入码
汉字输入码是用来完成汉字输入的汉字编码,也称为汉字的外码。汉字输入码要求有如下特点:易学、易记、效率高、重码少、容量大等。但到目前为止,还没有一种在各方面均表现出色的汉字输入码。
一般汉字输入码可分为以下4类:
①字音编码,是基于汉语拼音的编码,如智能ABC、全拼、微软拼音等。这类编码简单易学,适合非专业人员,但它的重码多,需要增加选择操作。
②字形编码,是根据汉字的字形分解归类的编码,如五笔字型和表形码。这类编码重码少,输入速度快,但规则比较难,不易上手。
③形音编码,它吸取了字音和字形编码的优点,规则相对简单,重码相对少,但学习仍不易。这类编码有自然码等。
④数字编码,使用一串数字来表示汉字的编码,如区位码、电报码等。它们难以记忆,很少使用。
另外,汉字除了可以使用键盘输入外,还可以使用扫描仪和相应的软件进行扫描输入识别,或使用书写板进行手写汉字联机识别,甚至可以使用麦克风通过口述的方式输入汉字。
(2)汉字在计算机内的表示
虽然汉字使用不同的输入码或其他方法输入计算机,但同一个汉字在计算机内部的编码仍然是一样的。
1980年国家标准总局颁布了第一个国家标准汉字编码——《信息交换用汉字编码字符集·基本集》(GB 2312)。在此标准中共收录了7 445个汉字和符号,为每个字符规定了标准代码,以便在不同计算机系统之间进行汉字信息交换。
GB 2312由三部分组成。第一部分是字母、数字和各种符号共682个,统称为图形符号;第二部分是一级常用汉字,共3 755个,按照汉语拼音排序;第三部分是二级常用汉字,共3 008个,按偏旁部首排序。
GB 2312的所有字符共分为94个区(即01~94行),行号称为“区号”;每个区再分为94个位(即01~94列),列号称为“位号”。某汉字所在的区号和位号共同组合成该汉字的区位编码,称为“区位码”。(www.chuimin.cn)
例如,“大”字的区号是20,位号是83,则区位码为20 83,用二进制表示为:0001010001010011。仔细观察一下,“00010100”是不是也可能表示ASCII码表中的“DC4”,“01010011”也可能表示ASCII码表中的“S”?计算机如何理解这是两个ASCII码值还是表示一个汉字呢?
在计算机内部,汉字的区号和位号分别用1个字节表示,为了与ASCII码有所区别,把字节的最高位均规定为1。这种最高位均为1的编码称为“机内码”,简称“内码”。
机内码与国标码、区位码有以下换算关系:
以“大”字为例,其区位码为20 83,区号和位号分别加32得到52 115,将52和115分别转换成二进制,得到国标码“0011010001110011”,再将两个字节的最高位置“1”,即各加上128,得到机内码为“1011010011110011”,最后转换成十六进制数,得到“大”字的机内码为B4F3H。
由于GB 2312规定的字符编码实际上与ISO 8859是冲突的,所以在中文环境下查阅某些西文文章,使用某些西文软件时,有时会出现乱码,实际上就是因为西文中使用了与汉字编码冲突的字符,被计算机系统生硬地翻译成中文造成的。
6 763个汉字显然不能表示全部的汉字,但由于当时计算机的处理和存储能力都有限,所以在制定标准时只包含了常用汉字,因此时常会遇到生僻字或繁体字无法输入到计算机中的问题。
为了解决这些问题,在1995年我国发布了GBK,全称为“汉字内码扩展规范”。GBK向下与GB 2312完全兼容,向上支持ISO 10646国际标准(即UCS),在前者向后者过渡的过程中起到了承上启下的作用。GBK编码采用双字节表示,在GBK 1.0中共收录了21 886个符号,汉字有21 003个。
GB 18030是最新的汉字编码字符集国家标准,于2000年发布并在2001年开始执行,它向下兼容GBK、GB 2312和CJK(Chinese Japanese Korean,它包含了来自中国、日本、韩国的汉字)编码,解决了汉字、日文、韩文和中国少数民族文字组成的大字符集计算机编码问题,满足中国、日本和韩国等东亚地区国家信息交换的多文种、大字量、多用途、统一编码格式的要求。
由于历史原因,中国的台湾、香港等地区还在使用繁体汉字,他们制定了一套表示繁体汉字的字符编码,称为“BIG5汉字编码标准”(简称“大五码”),采用双字节表示,但不兼容简体汉字。BIG5使用了与GB 2312大致相同的编码范围来表示繁体汉字。同样的编码在祖国大陆和台湾地区的编码标准中实际上表示的是不同的字符。当大陆的计算机遇到BIG5编码的文字时,就会将其转换成默认的GB 2312编码的文字,因而形成乱码。
由于历史和文化的原因,日文和韩文中也包含许多汉字,像汉字一样拥有大量的字符,它们的字符编码也同样与汉字编码有冲突。《中文之星》《南极星》等软件就是用于在这些编码中进行识别和转换的专用软件。
20世纪80年代后期,互联网的出现彻底改变了人们的生活。在一切都在数字化的今天,文件中的数字到底代表什么字?问题的根源在于有太多的编码表。如果全球都使用一个统一的编码表,那么每个编码就会有一个确定的含义,就不会再有乱码的问题。
于是80年代成立的Unicode协会制定了一个能够覆盖几乎任何语言的编码表,全称是“通用多八位编码字符集”(Universal Multiple-Octet Coded Character Set,简称为UCS)。UCS编码空间大,但效率低。其简化方案是使用两个字节表示编码,称为“UCS-2”。
有关信息技术教程的文章
汉字也可以用和字符相同的方法编码表示。由于汉字个数多,采用一个字节的编码方法显然不行,因此,可采用两个字节或多于两个字节来表示一个汉字的编码方法。GB2312—80码就是根据这样的方法制定的汉字编码的中国政府标准。因GB2312—80码只编码了常用的6763个汉字,所以GB2312—80码也称为常用汉字编码。在GB2312—80码中,汉字“啊”的二进制编码为10110000 10100001。汉字“啊”的二进制码具体格式如图2-7所示。......
2023-11-18
举世闻名的微软公司总裁比尔·盖茨在11岁时,所具备的数学知识就远远超过其同龄人。不断学习相对来说较为漫长,在此期间要注意养成一些良好的编程习惯。正确的学习方法学习编程,掌握正确的方法最重要。⑥反复上机练习,不断提高编程技巧。多问多学习掌握编程思想必须在编程实际工作中去实践和体会。......
2023-10-22
例如,169.7代表的实际数值是10=1×102+6×101+9×100+7×10-1一般地,一个十进制数S可以表示为S=KnKn-1…,-m)可以是0,1,2,3,4,5,6,7,8,9这10个数字符号中的任何一个。十进制中的“10”称为十进制的基数,10j称为Kj的权。例如,二进制数2也可以表示为1010.1B,它代表的实际数值是2=1×23+0×22+1×21+0×20+1×2-1=10一般地,一个二进制数S可以表示为S=KnKn-1…......
2023-10-22
GB/T 5612—2008《铸铁牌号表示方法》规定了铸铁牌号用代号、化学元素符号、名义含量及力学性能表示方法。2)牌号中代号后面有一组数字时,该组数字表示抗拉强度值,单位为MPa。各种铸铁名称、代号及牌号表示方法实例见表2-3。......
2023-06-22
图3-33表示平面的方法2.用迹线表示平面平面与投影面的交线称为平面的迹线。图3-34用迹线表示平面平面迹线是平面与投影面的共有线,所以迹线的一个投影与它本身重合,其余投影必在相应的投影轴上,规定位于投影轴的投影省略不画。作图时只要分别求出它们的正面迹点和水平迹点,然后连接同面投影就可以把其他表示平面的方法转换成用迹线表示。......
2023-06-28
文件是具有文件名的一组相关信息的集合。为此,操作系统中必须有文件管理机制。每个文件都有自己的名字,称为“文件名”,用户利用文件名来访问文件。在Windows系统中,文件名可以长达255个字符,但不能包含下列符号之一:“\”、“/”、“:”、“?”、“〞”、“<”、“>”、“|”。文件夹也有自己的说明信息,除了文件名以外,还包括存放位置、大小、创建时间、文件夹属性。......
2023-10-22
径流计算时,常用的径流量表示方法和度量单位有以下几种。图2-13流量过程线图2-14水位过程线2.径流量径流量指时段T内通过河流某一断面的总水量,记为W,以m3、万m3或亿m3计,有时也用时段平均流量与时段的乘积为单位,如·d、·月等。......
2023-11-20
相关推荐