汉字机内码(内码)(汉字存储码)的作用是统一了各种不同的汉字输入码在计算机内部的表示。
在计算机内表示汉字的代码是汉字机内码,汉字机内码由国标码演化而来,把表示国标码的两个字节的最高位分别加“1”,就变成汉字机内码。
汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码。
为了将汉字的各种输入码在计算机内部统一起来,就有了专用于计算机内部存储汉字使用的汉字机内码,用以将输入时使用的多种汉字输入码统一转换成汉字机内码进行存储,以方便机内的汉字处理汉字机内码是在计算机内部存储、处理的代码。
计算机既要处理汉字,又要处理英文。因此计算机必须能区别汉字字符和英文字符。英文字符的的机内码是最高为为 0的8位ASCII码。为了不与7位ASCII码发生冲突,把国标码每个字节的最高位由0改为1,其余位不变的编码作为汉字字符的机内码。
汉字机内码的范围用二进制表示是: 10100001 10100001 11111110 11111110 机内码的高位和低位比对应的国标码的高位和低位大(128)10或(10000000)2或(80)H 即:
机内码高位 = 国标码高位 + 80H
机内码低位 = 国标码低位 + 80H
又因为:
国标码高位 = 区码 + 20H
国标码低位 = 位码 + 20H
所以:
机内码高位 = 区码 + A0H
机内码低位 = 位码 + A0H
也就是说,机内码高位和机内码低位分别比对应的区码和位码大(160)10或(10100000)2或 (A0)H 例如:汉字"啊"的区位码为"1601",其中区码为(16)10或(10)H,位码为(01)10或(01)H。则: 机内码高位 = 10H + A0H = B0H 机内码低位 = 01H + A0H = A1H 所以: 机内码= B0A1H
3) 汉字输入码(外码)
汉字输入码(外码)是为了通过键盘字符把汉字输入计算机而设计的一种编码。英文输入时,相输入什么字符便按什么键,输入码和机内码一致。汉字输入时,可能要按几个键才能输入一个汉字。汉字输入方案有成百上千个,但是这千差万别的外码输入进计算机后都会转换成统一的内码。汉字输入方案大致可分为以下4种类型:
(1) 音码:如全拼、双拼、微软拼音等
(2) 形码:如五笔字型、郑码、表形码等
(3)音形码:如智能ABC、自然码等
(4) 数字码:如区位码、电报码等
4) 汉字字形码(输出码)
汉字字形码(输出码)用于汉字的显示和打印,是汉字字形的数字化信息。汉字的内码是用数字代码来表示汉字,但是为了在输出时让人们看到汉字,就必须输出汉字的字形。
在汉字系统中,一般采用点阵来表示字形。 16 *16汉字点阵示意 16 * 16点阵字形的字要使用32个字节(16 * 16/8= 32)存储,24 * 24点阵字形的字要使用72个字节(24 * 24/8=72)存储。
一般来说,表现汉字时使用的点阵越大,则汉字字形的质量也越好,当然每个汉字点阵所需的存储量也越大。