输入码(外码),国标码,区位码,机内码,字型码的概念与关系

输入码:

又称汉字外码,无论是区位码或国标码都不利于输入汉字,为方便汉字的输入而制定的汉字编码,称为汉字输入码。汉字输入码属于外码。不同的输入方法,形成了不同的汉字外码。常见的输入法有以下几类:

按汉字的排列顺序形成的编码(流水码):如区位码; 

按汉字的读音形成的编码(音码):如全拼、简拼、双拼等; 

按汉字的字形形成的编码(形码):如五笔字型、郑码等;

按汉字的音、形结合形成的编码(音形码):如自然码、智能ABC


国标码:

计算机只识别由0、1组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码,所以国标码应运而生。所谓“国标码”,是指国家标准汉字编码。一般是指国家标准局1981年发布的《信息交换用汉字编码字符集(基本集)》,简称GB-2312。在这个集中,收进汉字6763个,其中一级汉字3755个,二级汉字3008个。一级汉字为常用字,按拼音顺序排列,二级汉字为次常用字,按部首排列。


区位码:

简单地理解的话,区位码就是国标码,但也是有些区别的,

GB-2312中预留了一些空位,可以进行补充、扩展,经扩展的区位码就从数量、范围上超过了GB-23126763)了。上面是就大陆而言的,台湾、香港、和其他汉语国家,也是用区位码,但他们的区位号与大陆用的就不一定相同了。


机内码(汉字内码):

计算机还不能将国标码作为汉字在计算机中的机内码,因为会和ASCII码发生冲突,如“保”,国标码为31H和23H,而西文字符“1”和“#”的SCII也为31H和23H,现假如内存中有两个字节为31H和23H,;这到底是一个汉字,还是两个西文字符“1”;和“#”呢,于是就有了冲突。所以国家标准规定将汉字国标码每个字节的最高位统一规定为“1”作为识别汉字代码的标志首位是“0”即为字符,首位是“1”即为汉字,这样就形成了机内码。汉字在计算机中是用机内码来表示的。


区位码,国标码,机内码的转换

1)区位码先转换成十六进制数表示 

2)(区位码的十六进制表示)+2020H=国标码; 

3)国标码+8080H=机内码


字型码

汉字输出码提供输出汉字时所需要的汉字字型,用以将机内码还原为汉字进行输出。由于汉字是由笔画组成的方字,所以对汉字来讲,不论其笔画多少,都可以放在相同大小的方框里,如用M行N列的小圆点组成的方块(称为汉字的字模点阵),那么每个汉字都可以用点阵中的一些点组成。每个点用一位二进制表示,有笔形的为1,否则为0,就可得到该汉字的字形码。全部汉字字码的集合叫汉字字库。


总的来说,为方便汉字输入而形成的汉字编码为输入码,属于汉字的外码,输入码因编码方式不同而不同。为在计算机内表示汉字而统一的编码方式形成汉字编码叫国标码,计算机还不能将国标码作为汉字在计算机中的表现形式,因为会和ASCII码发生冲突,所以又产生了汉字的机内码,机内码是惟一的。为显示和打印输出汉字而形成的汉字编码为字型码,计算机通过汉字内码在字模库中找出汉字的字型码,实现其转换。 

你可能感兴趣的:(字符编码)