输入码国标码机内码字型码
- 格式:docx
- 大小:16.55 KB
- 文档页数:4
常用字符编码新课引入:计算机可以在屏幕上显示字符,这些字符可以是字母,标点符号,数字,汉字等。
计算机只认识二进制数,所以也只能用二进制数来表示每个显示和输出的字符。
为了使计算机的数据能够共享和传递,必须对字符进行相应的二进制编码。
目前常用的编码有如下几种:BCD码、ASCII码、汉字编码等。
一、BCD码1、什么是BCD码?用四位二进制数码来表示一位十进制数,这种编码称为BCD码(也叫8421码),即用二进制数表示的十进制数。
[例1]把十进制数7209化成BCD码。
解:7209的BCD码为:0111 0010 0000 1001练习:求十进制数4851的BCD码。
解:4851的BCD码为:0100 1000 0101 00012、对于BCD码的几点说明:(1)考虑人们使用习惯,通常在计算机输入输出过程中还是采用十进制,然后由机器转换成二进制。
BCD码的形式非常适于人类的这种习惯。
(2)BCD码虽然也用四位二进制数编码来表示每位十进制数用,但它没有把十进制数的值转换成真正的二进制值,不能按权展开求值。
如:十进制数28转换成二进制数为:11100十进制数28转换成BCD码为:00101000所以,BCD码与二进制之间转换是不能直接进行的,要先转换成十进制,再转换为二进制,因为BCD码实质上是十进制数,而形式上为二进制数,在转换上又与二进制数十六进制数之间的转换相似。
所以在学习时要注意不要混淆,加以区别。
练习:填表二、ASCII码1、什么叫ASCII码?ASCII码是美国标准信息交换码的缩写,它是目前国际上在计算机中用二进制数表示字母、数字、符号以及控制符号最常用的编码。
(1)常用字符有128个,编码从0到127(0000000―1111111)。
(2)控制字符:0-31、127,共33个,不可显示;(3)普通字符:95个,包括10个阿拉伯数字、52个英文大小写字母、33个运算符。
(4)每个字符占一个字节,最高位为0,后面跟7位二进制数。
国标码、机内码、区位码国家标准代码:国标码国家标准代码,简称国标码。
是中华人民共和国的中文常用汉字编码集,亦为新加坡采用。
国家标准强制标准冠以“GB”,推荐标准冠以“GB/T”,国标码是一个四位十六进制数。
现时中华人民共和国官方强制使用GB 18030标准,但较旧的计算机仍然使用GB 2312。
“GB”在计算机领域中常常表示GB 2312-80或GB 18030-2005。
两者是汉语编码系统的标准,在中国大陆和新加坡用于简体中文。
机内码:国标码是不可能在计算机内部直接采用的,于是,;汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变,如:由上面我们知道,“保”字的国标码为3123H,前字节为00110001B,后字节为00100011B,高位改1为10110001B和10100011B即为B1A3H,因此,“保”字的机内码就是B1A3H。
区位码1980年,为了使每一个汉字有一个全国统一的代码,我国颁布了第一个汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。
区位码是一个四位的十进制数,每个区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码。
ASCⅡ目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。
即:中文内码之一,代表中文,在广泛使用,影响所及,使用量渐见普及。
“国家标准信息交换用汉字编码”(GB2312-80标准),简称国标码。
国标码是指1980年中国制定的用于不同的具有处理功能的计算机系统间交换汉字信息时使用的编码。
国际码是二字节码, 用两个七位二进制数编码表示一个汉字。
目前国标码收入6763个汉字, 其中一级汉字(最常用)3755个, 二级汉字3008个, 另外还包括682个西文字符、图符。
例如“巧”字的代码是39H 41H, 在机内形式如下: 0 1 1 1 0 0 1 1 第一0 0 0 0 0 1第二字节在计算机内部,汉字编码和西文编码是共存的,如何区分它们是个很重要的问题,因为对不同的信息有不同的处理方式。
方法之一是对于二字节的国标码,将二个字节的最高位都置成“1”, 而码所用字节最高位保持“0”,然后由软件(或硬件)根据字节最高位来作出判断。
字符代码化是指用户从键盘上输入代表某个汉字的编码。
我们把采用不同的编码系统以代表汉字进行输入的方案(如数字码、拼音码和),称为汉字的输入法,、五笔字型码、拼音码、、拼音输入法等都是其中的具体代表。
汉字通过编码输入计算机后,在其后的处理过程中,不同阶段使用不同的代码,首先通过键盘管理程序将接收到的输入编码转换为0和1构成的机内码,实现计算机的存储、加工和传输处理。
同样,存储在计算机内部的机内码也必须经转换后才能恢复汉字的“本来面目”。
这种转换通常是由计算机的输入/输出设备来实现的, 有时还需要软件来参与这种转换过程。
这个阶段的汉字代码称为字形码,用以显示和打印输出。
区位码:1980年,为了使每一个汉字有一个全国统一的代码,我国颁布了第一个汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。
国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码或区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码。
汉字区位码、国标码(交换码)和机内码转换方法一般换算全部用十六进制。
机内码、国际码是十六进制的,区位码是十进制的。
具体换算步骤:(H表示十六进制,D表示十进制)1.将四位区号分为两部分,两位数为一组。
2.把这两个数字转换成十六进制,用公式计算。
国际码=区位码(十六进制)+2020H机内码=国际码+8080H例如:某汉字的区位码是2534。
则25D=19H,34D=22H则国际码=1922H+2020H=3952H,机内码=3952H+8080H=B9D2H 1、转换关系:【设转为十六进制的区位码为区位码I;转换原因在第3点】•区位码I=区位码的区码(前两位)和位码(后两位)分别转十六进制再按原顺序组合起来•国标码•=区位码I+2020H 【2020H不拆分】•机内码=国标码+8080H【8080H不拆分】•机内码=区位码I+A0A0H【A0A0H不拆分】注意:区位码是十进制表示,由区(行)和位(列)组成一个二维结构,所以转换过程需要将区位码拆分后分别转十六进制。
2、例子:•将“江”的区位码2913转为机内码【末尾D代表十进制,末尾H代表十六进制】:1、2913D中区和位分别转十六进制:29D=1DH,13D=DH2、国标码=区位码+2020H=1D0DH+2020H=3D2DH3、机内码=国标码+8080H=3D2DH+8080H=BDADHor 机内码=区位码+A0A0H=1D0DH+A0A0H=BDADH3、扩展【扩展内容主要与为什么要加2020H或8080H这些有关】:区位码:每个汉字都有唯一的定位码,定位码一个字节,定位码一个字节,总共占用两个字节。
国标码:。
共7445个字符,其中一级3755个,二级3008个,图形符号682个【一级汉字按拼音排序,二级用部首排序】,全部国家标准代码被放置在94个区域中,每个区域中有94个矩阵。
每个字节占用8位,主要使用7位编码(高位为0)。
- 为啥要将区位码转为国标码?汉字编码之前,已经有了标准的ASCII,开发者只沿用了ASCII中32个控制字符其他ASCII被覆盖。
浅析汉字编码过程作者:黄小花来源:《电脑知识与技术》2015年第04期摘要:该文围绕了汉字的编码过程,详细介绍了输入码、区位码、国标码、机内码、字形码的编码方法。
输入码是为方便汉字输入而形成的汉字编码为,国标码是为表示汉字而统一的编码,计算机还不能将国标码作为汉字在计算机中的表现形式,因为会和ASCII码发生冲突,所以又产生了汉字的机内码,机内码是存储汉字的编码,最终汉字是通过字形码或输出码将汉字输出。
关键词:汉字的编码;国标码;机内码;字形码中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)04-0181-02Abstract: This paper around the coding process Chinese characters, detailed introduces the coding method for input code, area code, GB code, machine code, shape code. The input code is formed Chinese characters code for the convenience of Chinese characters input, GB code is unified for the said Chinese characters coding, computer can be GB code as a form Chinese characters in the computer, because ASCII codes and conflict, so they produced a Chinese characters within the machine code, machine code is only, font code is Chinese characters coding form to display and print output Chinese characters.Key words: Chinese characters coding; GB code; machine code; font code计算机是二进制世界,只能识别由0和1组成的二进制度,所有外部信息都要编码成二进制。
国标码输入码机内码字形码之间的关系国标码是一种用于计算机和通信设备中的字符编码标准。
它将字符映射为一个唯一的数字,以便计算机能够识别和处理各种字符。
在码机内,字符的编码被表示为一系列的码字,而码字之间存在着一定的关系。
国标码的内码是由多个二进制位组成的,每个二进制位表示一个比特(bit),可以取0或1两个值。
而码字则是由一定数量的二进制位组成的,用来表示一个特定的字符。
不同的字符对应着不同长度的码字,通常长度为8位或16位。
码字的位数取决于所用的国标码版本和字符集的大小。
码字之间的关系可以通过码字的编码规则来描述。
在国标码中,编码规则是根据字符的使用频率和特性来设计的。
一般来说,使用频率高的字符被分配短码字,而使用频率低的字符则被分配长码字。
这样做的目的是为了提高编码效率和传输速度。
此外,码字之间的关系还可以通过码字的排列顺序来体现。
通常情况下,国标码中的码字是按照一定的顺序排列的,以方便计算机的识别和处理。
国标码的内码和字形码之间也存在着一定的关系。
内码是字符在计算机内部的表示形式,而字形码则是字符在显示设备上的显示形式。
内码和字形码之间的关系可以通过字符集和字体来确定。
字符集定义了字符的内码和字形码之间的对应关系,而字体则决定了字符在显示设备上的具体显示形式。
因此,通过改变字符集或字体,可以改变字符的内码和字形码之间的关系,从而实现不同的显示效果。
国标码的内码字形码之间存在着紧密的关系。
内码用于表示字符在计算机内部的编码形式,而字形码则用于表示字符在显示设备上的显示形式。
码字则是内码和字形码之间的中间桥梁,用于将字符映射为二进制形式。
码字之间的关系通过编码规则和排列顺序来确定,而内码和字形码之间的关系则通过字符集和字体来确定。
这种关系的存在,为计算机和通信设备的字符处理提供了便利,也为我们的日常生活带来了更多的便捷。
汉字编码选择题复习、一个汉字的内码长度为个字节,其每个字节的最高二进制位的值依次分别是。
) ) ) )【解析】国标码是汉字信息交换的标准编码,但因其前后字节的最高位为,与码发生冲突,于是,汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上,即将两个字节的最高位由改,其余位不变,因此机内码前后字节最高位都为。
、、一个汉字的×点阵字形码长度的字节数是。
) ) ) )【解析】每个点阵用一个或代替,需要*个或,因为位为一字节,换算成字节就是*.、根据汉字国标-的规定,一个汉字的内码码长为。
) ) ) )【解析】一个汉字是两个字节,一字节是,所以就是。
、下列个位十进制数中,属于正确的汉字区位码的是。
) ) ) )【解析】区位码:×阵列,区号范围:~,位号范围:~。
、存储个×点阵的汉字字形码需要的字节数是。
) ) ) )【解析】在×的网格中描绘一个汉字,整个网格分为行列,每个小格用位二进制编码表示,每一行需要个二进制位,占个字节,行共占×=个字节。
个需要×=字节。
、在计算机中,对汉字进行传输、处理和存储时使用汉字的。
)字形码 )国标码 )输入码)机内码【解析】显示或打印汉字时使用汉字的字形码,在计算机内部时使用汉字的机内码。
、区位码输入法的最大优点是。
)只用数码输入,方法简单、容易记忆 )易记易用)一字一码,无重码 )编码有规律,不易忘记【解析】区位码输入是利用国标码作为汉字编码,每个国标码对应一个汉字或一个符号,没有重码。
、下列关于汉字编码的叙述中,错误的是。
)码是通行于香港和台湾地区的繁体汉字编码)一个汉字的区位码就是它的国标码)无论两个汉字的笔画数目相差多大,但它们的机内码的长度是相同的)同一汉字用不同的输入法输入时,其输入码不同但机内码却是相同的【解析】当汉字的区位号都为十六进制数时,汉字的国标码=汉字的区位码+。
、一个汉字的内码与它的国标码之间的差是。
输入码、国标码、机内码、字型码西文是拼音文字,基本符号比较少,编码比较容易,因此,在一个计算机系统中,输入、内部处理、存储和输出都可以使用同一代码。
汉字种类繁多,编码比拼音文字困难,因此在不同的场合要使用不同的编码。
通常有4种类型的编码,即输入码、国标码、内码、字形码。
①输入码输入码所解决的问题是如何使用西文标准键盘把汉字输入到计算机内。
有各种不同的输入码,主要可以分为三类:数字编码、拼音编码和字编型码。
●数字编码。
就是用数字串代表一个汉字,常用的是国标区位码。
它将国家标准局公布的6763个两级汉字分成94个区,每个区分94位。
实际上是把汉字表示成二维数组,区码、位码各用两位十进制数表示,输入一个汉字需要按4次键。
数字编码是惟一的,但很难记住。
比如“中”字,它的区位码以十进制表示为5448(54是区码,48是位码),以十六进制表示为3630(36是区码,30是位码)。
以十六进制表示的区位码不是用来输入汉字的。
●拼音编码。
是以汉字读音为基础的输入方法。
由于汉字同音字太多,输入后一般要进行选择,影响了输入速度。
●字型编码。
是以汉字的形状确定的编码,即按汉字的笔画部件用字母或数字进行编码。
如五笔字型、表形码,便属此类编码,其难点在于如何拆分一个汉字。
②国标码又称为汉字交换码,在计算机之间交换信息用。
用两个字节来表示,每个字节的最高位均为0,因此可以表示的汉字数为214=16384个。
将汉字区位码的高位字节、低位字节各加十进制数32(即十六进制数的20),便得到国标码。
例如“中”字的国标码为8680(十进制)或7468(十六进制)。
这就是国家标准局规定的GB2312—80信息交换用汉字编码集。
③内码汉字内码是在设备和信息处理系统内部存储、处理、传输汉字用的代码。
无论使用何种输入码,进入计算机后就立即被转换为机内码。
规则是将国标码的高位字节、低位字节各自加上128为了统一表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC 10646,简称UCS(Universal Code Set),它为包括汉字在内的各种正在使用的文字规定了统一的编码方法。
该标准使用4个字节来表示一个字符。
其中,一个字节用来编码组,因为最高位不用,故总共表示128个组。
一个字节编码平面,总共有256个平面,这样,每一组都包含256个平面。
在一个平面内,用一个字节来编码行,因而总共有256行。
再用一个字节来编码字位,故总共有256个字位。
一个字符就被安排在这个编码空间的一个字位上。
例如ASCII 字符“A”,它的ASCII为41H,而在UCS中的编码则为00000041H,即位于00组、00面、00行的第41H字位上。
又如汉字“大”,它在GB2312中的编码为3473H,而在UCS 中的编码则为00005927H,即在00组、00面、59H行的第27H字位上。
4个字节的编码足以包容世界上所有的字符,同时也符合现代处理系统的体系结构。
④字形码表示汉字字形的字模数据,因此也称为字模码,是汉字的输出形式。
通常用点阵、矢量函数等表示。
用点阵表示时,字形码指的就是这个汉字字形点阵的代码。
根据输出汉字的要求不同,点阵的多少也不同。
简易型汉字为16′16点阵、提高型汉字为24′24点阵、48′48点阵等。
现在我们以24′24点阵为例来说明一个汉字字形码所要占用的内存空间。
因为每行24个点就是24个二进制位,存储一行代码需要3个字节。
那么,24行共占用3′24=72个字节。
计算公式:每行点数/8′行数。
依此,对于48′48的点阵,一个汉字字形需要占用的存储空间为48/8′48=6′48=288个字节。
(十进制)或80(十六进制)。
例如,“中”字的内码以十六进制表示时应为F4E8。
这样做的目的是使汉字内码区别于西文的ASCII,因为每个西文字母的ASCII的高位均为0,而汉字内码的每个字节的高位均为1。
ascll信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。
因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。
为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。
计算机中汉字的表示也是用二进制编码,同样是人为编码的。
根据应用目的的不同,汉字编码分为外码、交换码、机内码和字形码。
1.外码(输入码)外码也叫输入码,是用来将汉字输入到计算机中的一组键盘符号。
英文字母只有26个,可以把所有的字符都放到键盘上,而使用这种办法把所有的汉字都放到键盘上,是不可能的。
所以汉字系统需要有自己的输入码体系,使汉字与键盘能建立对应关系。
目前常用的输入码有拼音码、五笔字型码、自然码、表形码、认知码、区位码和电报码等,一种好的编码应有编码规则简单、易学好记、操作方便、重码率低、输入速度快等优点,每个人可根据自己的需要进行选择。
在后面的章节中,重点介绍智能全拼输入法和五笔字型输入法。
2.交换码计算机内部处理的信息,都是用二进制代码表示的,汉字也不例外。
而二进制代码使用起来是不方便的,于是需要采用信息交换码。
我国标准总局1981年制定了中华人民共和国国家标准GB2312--80《信息交换用汉字编码字符集--基本集》,即国标码。
国标码字符集中收集了常用汉字和图形符号7445个,其中图形符号682个,汉字6763个,按照汉字的使用频度分为两级,第一级为常用汉字3755个,第二级为次常用汉字3008个。
为了避开ASCII字符中的不可打印字符0100001--1111110(十六进制为21-7E),国标码表示汉字的范围为2121--7E7E(十六进制)。
区位码是国标码的另一种表现形式,把国标GB2312--80中的汉字、图形符号组成一个94×94的方阵,分为94个“区”,每区包含94个“位”,其中“区”的序号由01至94,“位”的序号也是从01至94。
94个区中位置总数=94×94=8836个,其中7445个汉字和图形字符中的每一个占一个位置后,还剩下1391个空位,这1391个位置空下来保留备用。
所以给定“区”值和“位”值,用四位数字就可以确定一个汉字或图形符号,其中前两位是“区”号。
后两位是“位”号,如“普”字的区位码是“3853”,“通”字的区位码是“4508”。
区位码编码的最大优点是没有重码,但由于编码缺少规律,很难记忆。
使用区位码的主要目的是为了输入一些中文符号或无法用其它输入法输入的汉字、制表符以及日语字母、俄语字母、希腊字母等。
94个区可以分为五组:01--15区:是各种图形符号、制表符和一些主要国家的语言字母,其中01--09区为标准符号区,共有682个常用符号。
10--15区:为自定义符号区,可留作用户自己定义。
16--55区:是一级汉字区,共有3755个常用汉字,以拼音为序排列。
56--87区:是二级汉字区,共有3008个次常用汉字,以部首为序排列。
88--94区:自定义汉字区,可留作用户自己定义。
3.机内码根据国标码的规定,每一个汉字都有了确定的二进制代码,但是这个代码在计算机内部处理时会与ASCII码发生冲突,为解决这个问题,把国标码的每一个字节的首位上加1。
由于ASCII码只用7位,所以,这个首位上的“1”就可以作为识别汉字代码的标志,计算机在处理到首位是“1”的代码时把它理解为是汉字的信息,在处理到首位是“0”的代码时把它理解为是ASCII码。
经过这样处理后的国标码就是机内码。
汉字的机内码、国际码和区位码之间的关系是:(汉字机内码前两位)16=(国标码前两位)16+80H=(区码)16+A0H(汉字机内码后两位)16=(国标码后两位)16+80H=(区码)16+A0H把用十六进制表示的机内码的前两位和机内码的后两位连起来,就得到完整的用十六进制表示的机内码。
在微机内部汉字代码都用机内码,在磁盘上记录汉字代码也使用机内码。
4.汉字的字形码字形码是汉字的输出码,输出汉字时都采用图形方式,无论汉字的笔画多少,每个汉字都可以写在同样大小的方块中。
为了能准确地表达汉字的字形,对于每一个汉字都有相应的字形码,目前大多数汉字系统中都是以点阵的方式来存储和输出汉字的字形。
所谓点阵就是将字符(包括汉字图形)看成一个矩形框内一些横竖排列的点的集合,有笔画的位置用黑点表示,没笔画的位置用白点表示。
在计算机中用一组二进制数表示点阵,用0表示白点,用1表示黑点。
一般的汉字系统中汉字字形点阵有16×16、24×24、48×48几种,点阵越大对每个汉字的修饰作用就越强,打印质量也就越高。
通常用16×16点阵来显示汉字,每一行上的16个点需用两个字节表示,一个16×16点阵的汉字字形码需要2×16=32个字节表示,这32个字节中的信息是汉字的数字化信息,即汉字字模。
下面以“口”为例看看16×16点阵字形是怎样存放的(如图3--1)。
如果我们把这个“口”字图形的“.”处用“0”代替,就可以很形象地得到“口”的字形码:0000H 0004H 3FFAH 2004H 2004H 2004H 2004H 2004H 2004H 2004H 2004H 2004H 3FFAH 2004H 0000H 0000H。
计算机要输出“口”时,先找到显示字库的首址,根据“口”的机内码经过计算,再去找到“口”的字形码,然后根据字形码(要用二进制)通过字符发生器的控制在屏幕上进行依次扫描,其中二进制代码中是“0”的地方空扫,是“1”的地方扫出亮点,于是就可以得到“口”的字符图形。
字模按构成字模的字体和点阵可分为宋体字模、楷体字模等等,这些是基本字模。
基本字模经过放大、缩小、反向、旋转等交换可以得到美术字体,如长体、扁体、粗体、细体等等。
汉字还可以分为简体和繁体两种,ASCII字符也可分为半角字符和全角字符。
汉字字模按国标码的顺序排列,以二进制文件形式存放在存储器中,构成汉字字模字库,亦称为汉字字形库,称汉字库。