计算机是如何处理汉字的?
发布网友
发布时间:2022-11-19 18:05
我来回答
共1个回答
热心网友
时间:2024-11-11 17:00
1.汉字信息的编码知识
⑴国标码:是指我国1981年公布的“中华人民共和国国家标准信息交换汉字编码”,代号为“GB2312-80”。由连续的两个字节组成。
2.机内码:在计算机内表示汉字的代码是汉字机内码,汉字机内码由国标码演化而来,把表示国标码的两个字节的最高位分别加“1”,就变成汉字机内码
3.输入码: 汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码。
4.字型点阵码:用点阵方式来构造汉字字型,然后存储在计算机内,构成汉字字模库。目的是为了能显示和打印汉字。
编码的转换举例
汉字 区位码 16进制 国标码 机内码
文 4636 2E24H 4E44H CEC4H
“文”的区位码为4636,区码和位码分别用16进制表示即为“2E24H”, 0010 1110 0010 0100
转换成国标码“4E44H”,0100 1110 0100 0100
机内码为“CEC4H”, 1100 1110 1100 0100
回答时间:2006-09-12 11:50:48
计算机只识别由0、1组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码。我国国家标准局于1981年5月颁布了《信息交换用汉字编码字符集——基本集》,代号为GB2312-80,共对6763个汉字和682个图形字符进行了编码,其编码原则为:汉字用两个字节表示,每个字节用七位码(高位为0),;国家标准将汉字和图形符号排列在一个94行94列的二维代码表中,;每两个字节分别用两位十进制编码,前字节的编码称为区码,后字节的编码称为位码,此即区位码,;如“保”字在二维代码表中处于17区第3位,区位码即为“1703 ”。
国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。如:“保”�字的国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+20H->3123H。
国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲突,如“保”�字,国标码为31H和23H,而西文字符“1”和“#”的SCII也为31H和23H,现假如内存中有两个字节为31H和23H,;这到底是一个汉字�,还是两个西文字符“1”;和“#”?于是就出现了二义性,显然,国标码是不可能在计算机内部直接采用的,于是,;汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变,如:由上面我们知道,“保”字的国标码为3123H,前字节为00110001B,后字节为00100011B,高位改1为10110001B和10100011B 即为B1A3H,因此,�字的机内码就是B1A3H;。