计算机是如何处理中文的(六)

2.4.       系统软件

2.4.1.        操作系统

操作系统支持中文,其原理,本质上在于,中文的每个字不够用单字节表示,汉字机内码因此是多字节字符组成,而机内码是操作系统识别和处理符号的基本单元,所以,汉字机内码支持了汉字能被表示、识别、处理。

“汉字在计算机中的基本处理过程”一节,讲述了汉字被计算机处理的过程。本节所讲述的,将是操作系统可见的、和中文(精确地说,应该是:任何多字节字符)有关的一些内容。

2.4.1.1.            Windows系列

Windows系统,有“代码页(code page)”的概念,MSDN上讲:

A code page is a character set, which can include numbers, punctuation marks, and other glyphs. Different languages and locales may use different code pages. For example, ANSI code page 1252 is used for English and most European languages; OEM code page 932 is used for Japanese Kanji.

Windows系统中,代码页就是一个字符集,某个代码页就是某个具体字符集的支持。比如,初始安装中文的Windows 2000/XP/2003系统过程中,如果“区域设置”选择“中文(中国)”,那么支持的是GBK字符集,且安装后的系统,是没有GB18030对应的代码页的。如果想支持GB18030,则可以安装WindowsGB18030支持包。此安装包包括:

1)       增加了字体“宋体-18030”和“新宋体-18030”。GB18030扩展字符在Word等文本编辑器中只能通过选择“宋体-18030”或者“新宋体-18030”才能看见。

2)       提供C_g18030.dll,对函数MultiByteToWideCharWideCharToMultiByte进行了扩展,以支持GB18030编码和UCS2之间的转换。

3)       提供了一个应用程序GBunicnv.exe,可以对纯文本文件和HTML文件进行GB18030Unicode之间的转换。

4)       提供ms4bsp.dll,扩展了6API以使得基于CodePage 936(就是GBK)编写的应用可以支持GB18030四字节字符。主要是在窗口中显示字符和弹出消息框用到的函数

 

1 安装GB18030后,可以在“控制面板”的“显示属性”中设定使用GB18030的字体

2 支持GBK不支持GB18030DOS窗口

 
计算机是如何处理中文的(六) - 那海蓝蓝 - 那海蓝蓝的博客
 
计算机是如何处理中文的(六) - 那海蓝蓝 - 那海蓝蓝的博客


 

而中文被操作系统支持,通常分为四种阶段的过程,一是识别,二是存储,三是传输,四是显示。如这几项第一和第四个环节出现问题,则可能就会出现乱码(乱码通常有问号和小方框,还有的可能是看不懂的字符串)。通常,出现问号,是发生在识别阶段,不能识别;出现方框,是出现在显示阶段,多数情况是字体存在问题;而看不懂的字符串,很可能是错误识别的结果(如把前一个字的后半截与下一个字的前半截识别为一个字,错位识别了)。

例如:一个DOS窗口,其“属性”窗口如图2,可以看到,上面有“当前代码页”为GBK的支持,使用DOS窗口显示内容的时候,如果被显示的字符中有GB18030中的特有字符,则会出现乱码。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值