汉字机内码、国标码和区位码之间转换关系图
- 格式:pdf
- 大小:42.24 KB
- 文档页数:1
实验一汉字编码与校验设计实验一、实验目的本实训将帮助同学们巩固对计算机中数据表示方法的理解,要求能设计汉字国标码与区位码之间的转换电路,能批量获取汉字机内码并用点阵形式进行显示。
通过设计16 位数据的海明编解码电路,16 位数据的CRC 并行编解码电路,帮助同学们理解校验码传输过程。
通过校验码流水传输实验帮助大家提前建立流水线的基本概念二、实验原理、内容与步骤实验原理、实验内容参考:1、汉字编码原理1)机内码与区位码区位码转换为十六进制+2020H得到国标码,国标码+8080H得到机内码。
区位码(十六进制)+A0A0H=机内码机内码-A0A0H=区位码(十六进制)2)存储器数据编辑使用实验里附带的十六进制编辑器,在使用ASCII码保存的记事本编辑,记得得到。
2、汉字编码电路设计国标转区位码汉字显示3、海明编码原理与设计1)编码原理若有效消息b1b2b3b4=1011,则先将它分别填入第3,5,6,7位,再分组进行奇偶统计,分别填入校验位P1,P2,P3的值。
这里分组采用偶校验,因此,要保证3组校验位的取值都满足偶校验规则。
各校验码的取值如下:P1=H3⊕H5⊕H7=b1⊕b2⊕b4=1⊕0⊕1=0P2=H3⊕H6⊕H7=b1⊕b3⊕b4=1⊕1⊕1=1P3=H5⊕H6⊕H7=b2⊕b3⊕b4=0⊕1⊕1=0这样就得到了海明码2)分组原理在海明码H1~Hn中,位号数(1,2,3,。
,n)为2的权值的那些位,即1(20),2,4,。
,2r-1位,作为奇偶校验码,并记作P1,P2,P3,。
,P r,余下各位则为有效信息位。
与N=11,k=7,r=4相应海明码可示意为位号 1 2 3 4 5 6 7 8 9 10 11P i占位P1P2 b1 P3 b2 b3 b4 P4 b5 b6 b7其中,b i均为有效信息。
3)校验位逻辑与电路设计海明编码4、海明解码原理与设计1)检错码原理与作用海明编码在解码过程中,被分作3组校验,每组可产生一个检错消息,3组共3个检错消息便可构成一个指错字,由G3 G2 G1组成,其中G3=P3⊕b2⊕b3⊕b4,G2=P2⊕b1⊕b3⊕b4,G1=P3⊕b1⊕b2⊕b4,3个指错字共表示8种状态,在没有出错的情况下,G3 G2 G1=000.由于在分组时就确定了每组校验位参与校验的组别,所以,指错字能准别地知错错误所在位2)错误逻辑原理与设计当目的部件接收到一-组海明码后,送人电路进行分组并检测,得到检错字信息G,G2G,这组信息通过译码电路译码,给出出错(或无错)的信号,这个信号就是纠错的依据。
国标码、机内码、区位码国家标准代码:国标码国家标准代码,简称国标码。
是中华人民共和国的中文常用汉字编码集,亦为新加坡采用。
国家标准强制标准冠以“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标准。
计算机编码知识区位码、国标码、机内码、输入码、字计算机编码知识--区位码、国标码、机内码、输入码、字形码2010年07月12日星期一1748在计算机中各种信息都是以二进制编码的形式存在的也就是说不管是文字、图形、声音、动画还是电影等各种信息在计算机中都是以0和1组成的二进制代码表示的计算机之所以能区别这些信息的不同是因为它们采用的编码规则不同。
比如同样是文字英文字母与汉字的编码规则就不同英文字母用的是单字节的ASCII码汉字采用的是双字节的汉字内码但随着需求的变化这两种编码有被统一的UNICODE码由Unicode协会开发的能表示几乎世界上所有书写语言的字符编码标准所取代的趋势当然图形、声音等的编码就更复杂多样了。
这也就告诉我们信息在计算机中的二进制编码是一个不断发展的、高深的、跨学科的知识领域。
1、字符英文包括字母、数字、标点、运算符等编码字符的编码采用国际通用的ASCII码American Standard Code for Information Interchange美国信息交换标准代码每个ASCII码以1个字节Byte储存从0到数字127代表不同的常用符号例如大写A的ASCII码是65小写a则是97。
由于ASCII码只用了字节的七个位最高位并不使用所以后来又将最高的一个位也编入这套编码码中成为八个位的延伸ASCIIExtendedASCII码这套内码加上了许多外文和表格等特殊符号成为目前常用的编码。
基本的ASCII字符集共有128个字符其中有96个可打印字符包括常用的字母、数字、标点符号等另外还有32个控制字符。
标准ASCII码使用7个二进位对字符进行编码对应的ISO标准为ISO646标准。
下表展示了基本ASCII字符集及其编码字母和数字的ASCII码的记忆是非常简单的。
我们只要记住了一个字母或数字的ASCII码例如记住A为650的ASCII码为48知道相应的大小写字母之间差32就可以推算出其余字母、数字的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个位置空下来保留备用。
所以给定“区”值和“位”值,用四位数字就可以确定一个汉字或图形符号,其中前两位是“区”号。
汉字区位码的16进制与机内码之
间相差
汉字区位码和机内码是汉字在计算机中的重要表示方式,它们之间存在一定的关系。
汉字区位码是汉字在计算机中的显示方式,而机内码则是为了便于计算机进行内部处理而开发出来的一种码,它们之间的关系是:汉字区位码的16进制与机内码之间相差0xA0。
汉字区位码是由中国信息产业部(当时的通信部)发布的《GB2312-80》标准中定义的,它有94个区,每个区又有94个位,因此总共有8736个汉字,能够满足汉语常用字库的需要。
每个汉字都有一个相应的区位码,即两个字节的16进制数,如“秦”的区位码是B4F6,“王”的区位码是C8D5。
机内码是为了便于计算机进行内部处理而开发出来的一种码,最初是按英文字母的ASCII码开发的,而后又将中文汉字加入其中,使得英文和汉字都可以在计算机内部进行处理。
因此,机内码的范围在0000H~FFFFH,其中0000H~7FFFH为英文字符,8000H~FFFFH为汉字字符,比如“秦”的机内码为D2BB,“王”的机内码为D3E3。
汉字区位码和机内码在计算机中是不同的表示方式,它们之间存在一定的关系,即汉字区位码的16进制与机内码之间相差0xA0,即汉字区位码的十六进制减去0xA0的结果就是该汉字的机内码,反之亦然。
例如,“秦”的区位码是B4F6,减去0xA0后得到D2B6,正是“秦”的机内码;“王”的机内码是D3E3,加上0xA0后得到F5E3,正是“王”的区位码。
从上面我们可以看出,汉字在计算机中的表示方式有两种:汉字区位码和机内码,它们之间存在一定的关系,即汉字区位码的16进制与机内码之间相差0xA0,能够帮助我们在不同的表示方式之间转换。
区位码和机内码的换算
区位码和机内码的换算可以通过以下步骤进行:
1、将区位码的每个字符分别转换成对应的十六进制数。
2、将每个十六进制数分别加上20H,得到对应的国标码。
3、将国标码的每个字符分别转换成对应的二进制数。
4、将二进制数分别左移8位,得到对应的机内码。
例如,将区位码"2534"转换为机内码,可以按照以下步骤进行:
1、将"2"、"5"、"3"、"4"分别转换成对应的十六进制数,即"2"、"5"、"3"、"4"。
2、将每个十六进制数加上20H,得到对应的国标码,即"42"、"75"、"53"、"64"。
3、将国标码的每个字符分别转换成对应的二进制数,即"0100 0010"、"0111 0101"、"0110 0011"、"0110 1000"。
4、将二进制数分别左移8位,得到对应的机内码,即"0000 0100"、"0001 1101"、"0001 1001"、"0010 1111"。
因此,区位码"2534"对应的机内码分别为"C4D59F"。
汉字机内码计算国标码第一字节
国标码(GB2312)是一种双字节编码,用于表示简体中文字符。
在GB2312编码中,每个汉字由两个字节表示,其中第一个字节的范
围是0xA1-0xF7,而第二个字节的范围是0xA1-0xFE。
在计算国标码第一字节时,我们可以使用以下公式:
第一字节 = (汉字区码 0xA0)/ 94 + 0xA0。
其中,汉字区码是指汉字所在的区号,范围是1-94。
假设我们
要计算汉字“中”的国标码第一字节,它的区位码为163(十进制),那么计算过程如下:
(163 0xA0)/ 94 + 0xA0 = 3 + 0xA0 = 0xA3。
因此,汉字“中”的国标码第一字节为0xA3。
需要注意的是,GB2312编码是一种早期的编码标准,在实际应
用中已经被更先进的编码标准如GBK和UTF-8所取代。
编码标准.字符的表示——字符是人与计算机交互过程中不可缺少的重要信息。
要使计算机能处理、存储字符信息,首先也必须用二进制“0”和“1”代码对字符进行编码。
下面以西文字符和汉字字符为例,介绍常用的编码标准。
(1)ASCII编码ASCII 编码是由美国国家标准委员会制定的一种包括数字、字母、通用符号和控制符号在内的字符编码集,全称叫美国国家信息交换标准代码(American Standard Code for Information Interchange)。
ASCII 码是一种7位二进制编码,能表示2 7=128种国际上最通用的西文字符,是目前计算机中,特别是微型计算机中使用最普遍的字符编码集。
ASCII编码包括4类最常用的字符。
①数字“0”~“9”。
ASCII编码的值分别为0110000B~0111001B,对应十六进制数为30H~39H。
②26个英文字母。
大写字母“A”~“Z”的ASCII编码值为41H~5AH,小写字母“a”~“z”的ASCII编码值为61H~7AH。
③用字符。
如“+”、“-”、“=”、“*”和“/”等共32个。
④制符号。
如空格符和车符等共34个。
ASCII码是一种7位编码,它存时必须占全一个字节,也即占用8位:b 7b 6b 5b 4b 3b 2b 1b 0,其中b 7恒为0,其余几位为ASCII码值。
(2)汉字编码1981年颁行的《信息交换用汉字编码字符集·基本集》(代号为GB2312-80)是交换码的国家标准,所以交换码也称为国标码。
GB2312-80共收集和定义了 7445个基本汉字。
其中,使用频度较高的 3755个汉字定义为一级汉字。
使用频率较低的 3008个汉字定义为二级汉字,共有 6763个汉字。
另外还定义了拉丁字母、俄文字母、汉语拼音字母、数字和常用符号等 682个。
GB2312- 80规定每个汉字用 2个字节的二进制编码,每个字节最高位为 0,其余 7位用于表示汉字信息。