计算机基础:西文字符在计算机的表示

想要更深入地学习物联网和嵌入式开发吗?为您推荐以下课程:
《物联网/嵌入式体系课》 - 系统学习,快速掌握物联网/嵌入式编程技能。
进入课程
内容摘要
本课详细介绍了西文字符在计算机中的表示方法,重点探讨了ASCII码的作用及其字符编码机制。引入了字形数据的概念,包括点阵数据和矢量数据,并重点介绍了点阵字形数据。通过8 X 8点阵的示例,展示了字符字形数据的具体表示方式,并计算了存储这些字形数据所需的空间。

ASCII码


1、通用的信息交换标准


说到西文字符在计算机的表示,就要提到ASCII码,它是世界上通用的信息交换标准。ASCII码是一种字符编码,字符编码是将每个字符对应到不同数字上,建立字符与数字一一对应的关系。对字符进行编码的意义是计算机可以将字符存储为数字。下图给出了二进制数和字符一一对应用的关系。用8个二进制位表示一个字符,可以表示256个字符。例如00110000表示1,01100011表示字符c,……

2、计算机存储字符的问题

字符编码解决了计算机存储字符的问题,但还有两个问题要解决:一个问题是字符如何转换为编码;一个问题是如何根据编码将字符输出到计算机屏幕。下图是字符的输入和输出过程。


3、字符的输入过程
先看字符的输入过程,输出过程放在后面探讨。操作者通过键盘输入西文字符,键盘程序会根据输入的字符从码表中查找字符对应的编码。实际上键盘内的逻辑电路已经对输入的字符进行了ASCII编码,输入到计算机的字符为ASCII码,ASCII码值存储到计算机存储器。

下图是ASCII码字符与编码映射范围表。

ASCII码是世界上通用的信息交换标准,被国际标准化组织定位国际标准,ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。当前使用的标准ASCII 码使用7 位二进制数,定义了128个字符,主要用于存储和显示西文字符。

二、字符的显示


1、字库文件


字符编码解决了字符使用数字存储和检索的问题,但不能用来显示字符。字符要显示到计算机显示器上,需要有字符的字形数据,当前字形数据主要是点阵数据和矢量数据,点阵数据用一系列的像素点来描述字形,矢量数据把字符的笔画分解为曲线和直线,然后绘制到显示器上,用于存储字形数据的文件称为字库文件。

2、点阵字形数据

下面主要介绍点阵字形数据,点阵字形数据如下图所示。

上图是8 X 8点阵,即每个字符有64个像素点,字符整体的宽度和高度均为8个像素,每个像素用1个二进制位表示,其值为0或1,0表示白色像素,1表示黑色像素。上图最左侧图形是字符L的点阵字形数据。

计算机存储一个8 X 8点阵的字符,需要8个字节的空间,若存储128个字符的字形数据,至少需要1KB的存储空间,这些字符字形数据存储到一个文件内,该文件称为字库文件。

3、BDF字库文件


BDF是常用的点阵字库文件,感兴趣的同学可以从网上下载该格式的字库文件,可以使用文本编辑器直接打开该字库文件,也可以下载BdfEditor软件浏览该字库文件。

上图是使用BdfEditor软件打开的BDF字库文件,并显示字符C的相关信息,可以看到字符C的ASCII编码是0043(16进制)。

了解了字库文件,字符的显示问题就解决了,显示程序获取待显示字符的编码,通过字符编码在字库文件中提取该编码对应的字形数据,将字形数据直接输出到屏幕。