区位码
为了使每一个汉字有一个全国统一的代码,区位码是国家规定的94*94的一个方阵,其中每行叫做一个区,每列叫做一个位,组合起来就组成了区位码,我们可以在相关网站查询某个汉字的区位码,例如汉字“我”的区位码是46 50 ,标识“我”在46区,50位。
国标码
区位码+2020H。
国标码并不等于区位码,它是由区位码稍作转换得到。其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。如:“保”字的区位码1703D,国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+2020H->3123H。
机内码
国标码+8080H。
输入码(外码)
输入码就是使用英文键盘输入汉字时的编码。目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如“保”?字,用全拼,输入码为码为“BAO”,用区位码,输入码为“1703”,用五笔字型则为“WKS”。
字形码
字形码,点阵代码的一种。为了将汉字在显示器或打印机上输出,把汉字按图形符号设计成点阵图,就得到了相应的点阵代码(字形码)。
用于显示的字库叫显示字库。显示一个汉字一般采用16×16点阵或24×24点阵或48×48点阵。已知汉字点阵的大小,可以计算出存储一个汉字所需占用的字节空间。
例:用16×16点阵表示一个汉字,就是将每个汉字用16行,每行16个点表示,一个点需要1位二进制代码,16个点需用16位二进制代码(即2个字节),共16行,所以需要16行×2字节/行=32字节,即16×16点阵表示一个汉字,字形码需用32字节。
即:字节数=点阵行数×(点阵列数/8)
用于打印的字库叫打印字库,其中的汉字比显示字库多,而且工作时也不像显示字库需调入内存。
为什么不用区位码直接表示国标码,为要加上2020H?
20H就是32D。
区位码是中国定义的94乘以94的一个表。一个字节只用低七位的话有127中状态。英文中0到32的字符都是些控制字符,第127位是del字符,即删除字符,所以总共有34个控制字符。(从0到127)128减去(从0到32是33加上第127位的那一个字符共34)34等于94。所以可供中文使用的是94个状态。
国标码其实就是交换码,是中国用来交换的,当然交换码是不能引起歧义的,94行94列的一个编码再加上32就是行号从33到126列号也是从33到126。这样就与0~32的英文控制字符没有冲突了。
机内码为什么要在国标码的基础上加上8080H,而不是直接只用国标码作为机内码?
因为在英文中只有26个字母,所以用一个字节就可以表示了,用一个字节的话可以表示2^8个符号,就是256个符号,绰绰有余啊,于是外国人制订了规范,规定0-127(00000000-01111111)个字符他们用了,用来表示英文字符和一些符号,就是ASCII码,但是汉字有很多,256个根本就不够,于是国家就用两个ASCII来表示一个汉字,就是2个字节标识一个汉字,例如“保”的区位码为:1703,所以国标码为:1703的10进制+2020H=3123H,然而:31H
和23H在ASCII中式有值的,31H在ASCII中表示数字1,23H表示的是“#”(这个可以在网上查询),那么如果我以国标码作为机内码的话,如果内存中有两个字节为31H和23H,那么到底是表示汉字“保”呢?还是字符1#呢?这样就有了歧义,但是解决办法就有了,0-127不是被英文字符占了吗?那么我就用127之后的来表示不就可以了吗?于是我把汉字的两个字节每个字节机上128(16进制就是80H),于是问题解决了,汉字“保”的机内码变为:3123H+8080H=B2A3H(10进制就是45475),打开记事本按住alt+45475看看是不是“保”,这样就不会和英文的ASCII冲突了。
分享到:
相关推荐
- **示例**:如果一个汉字的国标码为`3123H`,则其机内码为`B1A3H`。 3. **汉字交换码(国标码)** - **定义**:国家规定的用于信息交换的标准汉字编码。 - **标准**:GB2312-80(信息处理交换用汉字编码字符集...
该体系主要包括汉字机内码、汉字交换码、汉字输入码、汉字点阵码以及汉字字形控制码等。 1. **汉字机内码**:这是汉字在计算机系统内部的表示方式,用于存储和处理汉字,是汉字信息系统的核心代码。 2. **汉字交换...
这些编码主要包括:汉字输入码、汉字内码、汉字地址码、汉字字形码等。 汉字输入码是指用户输入汉字时的编码,汉字内码是指国标码加上汉字内码的标识,一个汉字的内码用2个字节存储,并把每个字节的最高二进制位置...
汉字“中”的区位码5448D转换为国标码8680D,进一步转换为二进制后加80H,最终得到内码D6D0H。 汉字在计算机中的处理流程包括四个主要阶段:汉字输入码、汉字内码、汉字地址码和汉字字形码。汉字输入码是用户输入...
汉字国标码转区位码实验(1)帮助学生理解汉字机内码、区位码,最终能利用相关工具批量获取一段文字的 GB2312 机内码,并利用简单电路实现 GB2312 编码与区位码的转换; (2)学生了解字形码显示的基本原理,能在实验...
(1)帮助学生理解汉字机内码、区位码,最终能利用相关工具批量获取一段文字的 GB2312 机内码,并利用简单电路实现 GB2312 编码与区位码的转换; (2)学生了解字形码显示的基本原理,能在实验环境中实现汉字 GB2312 ...
全国计算机等级考试一级B主要考察的是基础的计算机知识,...这些内容涵盖了汉字编码的基本概念,如内码、国标码、区位码、点阵字形码,以及它们之间的关系和转换方法。同时,还涉及了汉字输入法和存储需求等相关知识。
汉字编码之间存在着一定的转换关系,尤其是区位码、国标码与机内码之间的转换。 - **区位码转国标码:**将区位码转换为十六进制数表示后,加上2020H得到国标码。 - **国标码转机内码:**将国标码加上8080H得到机内码...
6. **输入码、区位码、国标码与机内码的联系与区别**: - 输入码是键盘输入时的编码,根据编码原理有顺序码、音码、形码和音形码。 - 区位码是基于汉字在字表中的位置,是一种简单的数字编码方式。 - 国标码是...
计算机编码是计算机科学中的基础概念,涉及到数据在计算机内部的表示方式。以下是对题目中涉及的知识...这些知识点涵盖了ASCII码、汉字编码(区位码、国标码、机内码、字形码)、编码转换以及字符集的基本概念和特性。
汉字编码涉及多个层面,包括输入码、机内码、国标码等。 **实验报告表 3-2** 记录了汉字“字”和“形”的编码信息: - **输入字符**:“字”、“形” - **输入法**:全拼输入/双拼输入 - **汉字输入码**:Zi/x - ...
由于汉字数量庞大、字形复杂和同音字众多,所以在不同的应用场景下会有不同的编码方式,如输入码、国标码、机内码和字形码。 汉字输入到计算机通常有三种方式:自动识别(如扫描)、语音识别和编码输入。编码输入中...
汉字编码则更为复杂,涉及输入码(如拼音、五笔等)、国标码、区位码、机内码和字形码等,其中输入码用于输入,国标码和区位码用于表示汉字的位置,机内码是计算机内部处理汉字时使用的编码,字形码则代表汉字的形状...
国标码(GB 2312)是GB 2312—80标准中的核心部分,它采用了两个字节表示一个汉字,每个字节只有7位,与ASCII码相类似,但为了避免与ASCII码混淆,通常会在每个字节的高位添加1,形成汉字的机内码。例如,区位码转换...
- 汉字编码包括输入码(如区位码、全拼、双拼、五笔等)、内码(机内码)和字形码(点阵或矢量表示)。 9. 国标码和汉字内码: - 国标码是汉字交换码,用四位十六进制数表示。 - 汉字内码是汉字在计算机内部的二...
这一过程包括了输入码转换为机内码、机内码转换为字形码等步骤,确保了信息在计算机系统中的准确传输和显示。汉字编码及其处理过程对理解汉字在计算机系统中的工作方式至关重要,特别是在中文信息处理领域,它为...
- 区位码、国标码和机内码是汉字编码的不同形式。区位码加上2020H得到国标码,国标码再加8080H得到机内码。例如,汉字“大”的区位码1453H,经过转换后,机内码为B4F3H。 - 输入码(外码)用于输入,如拼音码、...
汉字在计算机中的表示有多种方式,包括机内码、区位码和字形码。机内码是汉字在计算机内部存储和处理时使用的编码,如GBK或UTF-8,它们通常由多个字节组成,以便容纳大量汉字。区位码则是汉字的原始位置编码,由两个...