理解计算机字符编码:从基础到汉字编码标准
01计算机字符编码概述
计算机只能处理二进制数字,因此需要将文字和符号编码成二进制以便存储和处理。遵循统一标准是确保不同计算机之间字符一致性的关键。计算机最初主要用于数字计算,但随着其功能的不断拓展,文本处理也成为了可能。然而,计算机的本质决定了它只能“理解”由0和1组成的二进制数字。因此,计算机仅能直接存储和处理这种二进制形式的数字。

为了在计算机上表示、存储和处理文字、符号等字符,我们需要将这些字符转换为二进制数字。这种转换并非随心所欲,否则会导致在不同计算机上显示的字符不一致。因此,必须遵循统一的、标准的转换规则。
计算机利用二进制数编码表示字符,通过晶体管的状态实现。多个1和0序列形成模式,表示不同的字符。晶体管,作为计算机的“大脑”——微处理器的基本构成部分,是一种微型电子开关。它们的工作状态类似于基本的照明开关,即通和断。这种通/断的转换,也就是二进制功能,实现了计算机内部的信息处理。
计算机唯一能理解的信息是通和断两种状态的电信号。我们知道,开关式电子电路由电线和开关组成,而晶体管则通过电信号在通和断两种状态之间进行转换,无需机械运动部件。
在计算机中,数据信息以二进制数编码形式存在。每个二进制数“0”或“1”都代表信息的基本单位,被称为“位”或“比特”。多个晶体管产生的1和0序列可以形成特定的模式,从而表示字母、数字、颜色和图形等字符。这就是我们熟悉的二进制表示法。
ASCII是基于拉丁字母的编码,用7位二进制表示128种字符,涵盖字母、数字和标点符号,7位外的最高位用于奇偶校验。关于计算机如何表示英文符号、数字和标点符号等问题,美国发明家们进行了规定。他们将127个符号以8位二进制形式进行表示,其中一位用于数据校验,而其他七位则用于记录数据。这种规定与数学中的1+1=2的原理相似,确保了计算机能够准确无误地处理和显示各种字符。
ASCII(美国信息交换标准代码)是一种基于拉丁字母的电脑编码系统,主要用于显示现代英语和其他西欧语言。它为每个字符分配了一个唯一的二进制代码,从而实现了字符的数字化表示和处理。ASCII码采用指定的7位或8位二进制数字组合,来代表128或256种不同的字符。标准ASCII码仅使用7位二进制数,便能覆盖所有大写和小写字母、数字0至9、标点符号,以及美式英语中的特殊控制字符。值得注意的是,在标准ASCII码中,最高位(b7)被用作奇偶校验位。

02汉字编码标准
外码是将汉字输入计算机的编码方式,常见有拼音码、五笔字型码等,选择时需考量简便性与低重码率。外码,又称输入码,是一组专为将汉字输入计算机而设计的键盘符号。常见的输入码包括拼音码、五笔字型码、自然码、表形码、认知码、区位码以及电报码等。在选择编码时,应注重其编码规则是否简单易懂、是否便于学习记忆、操作是否便捷高效,以及重码率是否较低等因素。
国标码是计算机处理汉字的标准,每个汉字由两个字节表示,与某些系统兼容时需转换,区位码是另一种表现形式。国标码,即“中华人民共和国国家标准信息交换汉字编码字符集(基本集GB2312—1980)”,是计算机进行汉字信息处理和交换的标准编码。由于汉字数量众多,256个ASCII码无法满足需求,因此国家规定使用两个ASCII码来表示一个汉字,即每个汉字由2个字节进行标识。这种编码方式不仅适用于计算机内部处理,也便于国际间的信息交换。
此外,区位码是国标码的另一种展现形式。在国标GB2312--80中,汉字和图形符号被精心编排成一个94×94的方阵。这个方阵共分为94个“区”,每个“区”包含94个“位”。这些“区”和“位”的序号均从01至94。整个方阵中共有8836个位置,其中7445个位置被汉字和图形字符占据,剩余1391个位置则空置以备后用。
每个汉字在计算机内部有特定编码,进行汉字信息处理时需将国标码转换为机内码,通过在每个字节加1来避免与ASCII码冲突。在计算机内部,汉字拥有独特的机内码。依据国标码的规定,每个汉字都被赋予了确定的二进制代码。机内码是通过在汉字交换码(即国标码)的两个字节的最高位分别加1来生成。例如,“啊”字的国标码3021H,其对应的机内码则为B0A1H。
字形码用于输出汉字,确保字符准确显示;汉字地址码是汉字库存储字形信息的地址,与内码转换简单方便。字形码是汉字的输出码,在输出汉字时发挥着至关重要的作用。它采用图形方式展示汉字,确保无论汉字的笔画数量如何,都能在相同大小的方块内清晰呈现。通常,16×16点阵被用于汉字的显示,以实现字形的准确还原。

汉字地址码,作为汉字库中存储汉字字形信息的逻辑地址码,与汉字内码之间保持着简单的对应关系。这种设计旨在简化内码到地址码的转换过程,从而提升字符处理的效率。
