在计算机中文字的表示

文字编码的概念

(1)不同的文字有不同的书写格式,它们不能在计算机直接存储
(2)为文字和符号编制的无二义性的二进制代码称为文字编码。
(3)常用的文字编码有: ASCII码、 GB18030字符集、Unicode编码。

ASCII码:

American Standard Code for Information Interchange ,美国信息交换标准码,是一种基于罗马字母表的一套计算机编码系统;主要用于显示现代英语和其他西欧语言。

ASCII码分为两个集合:
128个字符的基本ASCII码和附加的128个字符的扩充ASCII码。
其中,基本ASCII字符集包含: 96个可打印字符(比如:字母、数字、标点符号等)和32个控制字符。
在计算机中文字的表示
ASCII码编码规则
(1)计算机以1个字节存放1个ASCII码字符;
(2) ASCII码用7位二进制数对1个字符进行编码;
(3) ASCII码每个字节最高位为0 ;
(4) ASCII可以表示27= 128个字符编码。

例: "Good!"的ASCII编码.
在计算机中文字的表示
ASCII码编码规律
(1) 0~ 9字符码的高4位编码为0011 ,低4位为
0000~ 1001 ;
(2)去掉高4位时,低4位正好是0~ 9的二进制数。

注意
(1) ASCII码26个字母编码是连续的;
(2)字母A~ Z码值对应的十进制数为65~ 90 ;
(3)字母az码值对应的十进制数为97122;
(4)大写字母第6位值为0,小写字母第6位值为1;
(5)它们之间的ASCII码值十进制形式相差32 ;

GB18030字符集

GB18030 ,即《信息交换用汉字编码字符集基本集的扩充》,是2000年3月17日发布的新的汉字编码国家标准。
GB18030标准采用单字节、双字节和四字节三种方式对字符编码。

在计算机中文字的表示

Unicode编码

(1)一些传统的编码方式,无法支持多语言环境。
(2) Unicode为每种语言中的每个字符设定统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换和处理的要求。
(3) Unicode是一种国际通用字符编码标准。
(4)在表达一个Unicode的字符时,通常公用“U+"然后紧接着一组十六进制的数字来表示字符。

Unicode目标:
(1)收录世界上所有语言的文字和符号;
(2)对每个字符定义一个值(码点);
(3)码点可用2字节表示( UCS-2 ) ,也可用4字节表示( UCS-4 ) 。

UCS-2 (通用字符集)
(1) UCS- 2是ISO (国际标准化组织)和Unicode共同定义的国际通用字符集。
(2) UCS-2代码长度固定为2个字节( 16位)。
(3)英文符号在ACSII码前面加一个代码点为0的字节。
(4)如:“A”的ASCII码为41H,它的UCS-2代码点为U+0041H。

UTF-8的编码规则:
(1)对于单字节的符号,字节的第一位设为0 ,后面7位为这个符号的Unicode码,因此对于英语字母, UTF- 8编码和ASCII码是相同的;
(2)对于n字节的符号( n>1),第一字节的前n位都设为1 ,第n+ 1位设为0 ,后面字节的前两位一律设为10 ,剩下的没有提及的二进制位全部为这个符号的Unicode码。

在计算机中文字的表示
严的Unicode码是4 E25(100111000100101) ,它处在表的第三行范围内(00000800~0000 FFFF) ,因此严的UTF-8编码需要3字节,即格式是1110xxxx 10xxxxxx 10xxxx。从严的最后一个二进制位开始,依次从后向前填入格式中的x ,多出的位补0。得到严的UTF-8编码是11100100 10111000 10100101。

英文的输入

(1)英文字符的输入可以通过键盘直接完成。
(2)键盘拥有自己的处理器和传输数据的电路;这个电路的很大一部分组成了键矩阵,键矩阵是位于键下方的一种电路网格。
(3)每个电路在每个键所处的位置点下均处于断开状态。当按下某个键时,此按键将按下开关,从而闭合电路。一旦处理器发现某处电路闭合,就将该电路在键矩阵上的位置与其只读存储器内的字符映射表进行对比。字符映射表会告诉处理器每个键在矩阵中的位置,以及每次击键或者击键组合所代表的含义,同时将该字符的ASCII码存储于内存之中。

英文的存储

英文字母输入后,系统将在内存中存储其对应的编码。系统不同,采用的存储编码也会不同。
如:在Windows中,字符存储其对应的Unicode编码。

英文的输出

每一个字符的字形可被绘制在一一个Mx N点阵中。如下面两个图,左图为字符"A"字形的8x8点阵表示,右图为字符"A"的字形码。
在计算机中文字的表示
(1表示这个点亮了,0表是这个点没亮。)

汉字的输入

(1)汉字输入编码分为从音编码和从形编码中类。
(2)从音编码以《汉语拼音方案》为基本编码元素。如:智能ABC、微软拼音。
(3)从形编码以笔画和字根为编码元素。如:五笔字型。

汉字的存储

汉字输入码被接收后,转换为机内码。系统不同,其机内码也不同。
如: Windows中,汉字存储的是其对应的Unicode编码。

汉子的输出

第一种

(1)每一个汉字都有相应的字形码。
(2)目前,大多数汉字系统中都以点阵的方式来存储和输出汉字的字形。
(3)汉字字形点阵有16x16、24x24、 48x48.72x72等。点阵越大,打印质量就会越高。
(4)实际中,用得最多的是16x16点阵。一个16x 16点阵的汉字字形码需要用2x16=32字节表示。

如下面两个图,左图为汉子“跑”的32X32点阵,右图为其字形码。
在计算机中文字的表示

第二种

矢量字体:与点阵字体相对应的另-种字体;它的每个字形是通过数学方程来描述的;在一个字形上分割出若干个关键点,相邻关键点之间由一条有限个参数唯一确定的光滑曲线连接。
好处:
(1)矢量字形保存每个字符的数学描述信息。如,笔划的起始、终止坐标,半径、弧度等。
(2)显示和打印矢量字形时,要经过一系列的运算才能输出结果。
(3)矢量字形可以无限放大,笔划轮廓仍然保持圆滑。
(4) Windows中绝大部分为矢量字形,只有很小的字符采用点阵字形。
在计算机中文字的表示