| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • Alumin远程访问控制软件 让你…

  • 浏览器操作记录工具Internet…

  • 让Google Deskbar实现简体中…

  • 网页打不开 Windows的Hosts表…

  • windows IE浏览器精典技巧两…

  • 实现了!中文WinXP安装IE7 B…

  • 腾讯TT浏览器V2.03简体中文版

  • 解决珊瑚虫QQ不能在Win2003运…

  • 在Win XP中让QQ跑得更快

  • 超级变态挂qq(升级方法)

  • Q
    您现在的位置: 我是IT人 >> 应用学院 >> 操作系统 >> Linux >> 教程正文
    构筑稳健的中文Linux(上)           
    构筑稳健的中文Linux(上)
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-15
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:

    Linux是操作系统中的一朵奇葩,是中国软件发展的机遇。要使这朵奇葩在中国的大地上生根、发芽、开花,要想抓住Linux机遇,首先必须解决中文本地化的问题。

       1999年政府公开支持在中国发展Linux,国内出现了好几家制作中文Linux发布版本的公司,推动了Linux在中国的发展和普及,但在初期中文Linux都是采用中文平台的方式。

    一、“中文平台”
       “中文平台”是为了让计算机能处理中文信息,在操作系统上建立必要的中文处理手段,即在ASCII码的操作系统上架构一个中文处理环境,用来提供中文的输入、显示、打印和中文文件的存储、处理、传输,并为应用软件开发和运行提供支持,俗称“中文平台”。

       中文平台的主要技术特点是在ASCII码的操作系统上架构一个中文处理环境。该中文处理环境为了简化字符处理而使用的处理码可能是把汉字作为一个宽字符来处理,但进出核心的代码流都采用文件码,即多字节字符,所以中文平台本质上仍是按字节处理中文。

       从显示方式来讲,可分为字符界面和图形界面两种“中文化”方式。字符界面的“中文化”又可分为内核汉化和外挂式两种。内核汉化是直接修改Linux内核的源程序,使之能处理中文信息。外挂式是不修改Linux内核的源程序,在原有应用程序接口(API)之外增加一层中文信息处理的支撑平台。

       图形界面的“中文化”本质上都属外挂式,但实现的方式有:

       修改XFree 86、即修改X Server;

       修改XWindow的库函数Lib X11.so;

       利用LD-PRELOAD载入动态库。

       中文平台具体实现的技术特点各不相同,充分展现了中国人的聪明才智,但也带来一些问题。

       1. 没有相应的标准,使中文应用软件在多版本之间的可移植性造成困难。有可能出现在某一版本中文平台上运行的中文应用软件在另一个版本的中文平台就不能运行或不能很好运行的情况。中文应用软件开发商可能要为每一个版本的中文平台开发一个产品。这对中文应用程序的发展很不利,而应用又是Linux能否发展的一个极重要的问题。

       2.中文平台实际上仍是字节处理,而不是以字符为单位来处理,可能与ASCII码造成冲突,不能彻底解决汉字与ASCII码的冲突。而且不能彻底解决汉字的输入、输出问题,比如半个汉字的问题(显示、删除半个汉字,光标半个汉字移动)。

       3.中国是由56个民族组成的大家庭。中国使用汉字的人占绝大多数,中文主要是汉语,但也包括其他少数民族的语言文字。海内外华人使用的汉字有简体与繁体,日本语、朝鲜语中也有汉字。“中文平台”和“中文化”是个很不确切的说法。而且中文平台也解决不了在一个系统内使用汉字、少数民族语言、日本和朝鲜的汉字问题。

       4.POSIX是操作系统的一个标准。 Linux是符合POSIX标准的。而POSIX标准是采用国际化/本地化模式来解决多国语言文字的本地化。

       1999年8月底成立了Linux国际化工作组,开始了Linux国际化(缩写为Li18nux)工作,同时也为中文本地化指出了正确道路。在这之前搞中文平台,是因为那时还没有Linux国际化组织,也没有Linux国际化标准。而且Linux是芬兰人发明,在美国成长起来的,开始也没有想到它会如此成功,会走向世界,因此Linux以前也没有考虑国际化的问题。Linux中文平台对Linux在中国的发展和普及起了重要的作用,但它已完成了它的历史使命。它只是一种暂时过渡的方法,是不得已而为之的方法,并不是中文Linux发展的正确之路。

    二、Linux的国际化/本地化
       国际化

       国际化(Internationalization,缩写为I18n,即取首尾两个字母,中间有18个字母)是规定在一个计算机程序内部的能力,使它适应不同的本地语言、本地风俗和编码字符集。

       国际化标准定义一组国际化的应用程序编程界面和用户界面。

       国际化主要包括用双字节/多字节编码代替单字节7位或8位编码,使用统一的大字符集ISO 10646,建立本地化数据库Locale DB,提供输入、输出服务(I/O服务)等内容。

       1. 用双字节/多字节编码代替单字节7位或8位编码

       在国际化标准中,系统字处理中,必须以字符为单位,而不能以字节为单位。字符既可以是单字节字符,也可以是多字节字符,所以彻底解决了半个汉字现象。

       由于历史的原因,计算机为了实现不同硬件和软件系统之间数据传输的标准化,是使用7位编码的,称为ASCII(American standard code for information interchange)。ASCII是信息交换使用的美国国家标准编码,它是美国的标准。ASCII字符集是用7个数据位表示的代码,它用二进制数值来表示ASCII字符,代码值的范围在0到127之间。大部分基于PC的系统则使用八个数据位的扩展ASCII代码。这样可以使用额外的128个字符代表一些特殊符号、外语字符、图形符号。

       通信软件的高位(第8位)是作为奇偶校验位,用来检测和改正通信错误。这种7位有效位的假定,渗透到很多软件中,如电子邮件的实现。

       随着计算机应用的不断发展,7位编码已不够了。虽然以后又使用8位的扩展ASCII码,但256个字符即使对使用拼音文字的单文种的国家的用户也是不敷使用了。虽然用了7位或8位能覆盖基本字母,但还有多种多样的符号及印刷元素,其数量远大于256。各国拼音文字的字母和各种符号就有一万个左右,汉字则有七八万之多,使用双字节(16位)编码,也只能标识65536个符号。所以,如果想要计算机能使用多国文字,特别是使用汉字,则必须用双字节/多字节。

       如果说用两位数表示年是计算机的千年虫问题,那么用单字节编码ASCII处理字符则是计算机文字处理的“千年虫”问题。但单字节编码的危害还没有引起人们足够的重视。

       国际化的首要工作就是在系统字处理中,必须以字符为单位,而不是以字节为单位,即用双字节/多字节编码代替原来的单字节编码,这就是用宽字符(wide character,为了统一地处理单字节字符和多字节字符,而采用统一编码宽度的字符的内部表示)代替单字节字符。

       2.使用统一的大字符集ISO 10646

       使用统一的多八位大字符集ISO 10646是国际化的关键工作,也是国际化的核心工作。十分遗憾的是很多人对其重要性认识不足。

       中国56个民族中使用汉字的人占绝大多数,有本民族语言的少数民族有17个。这些民族的文字属性及字量相差很大,目前对不同民族文字采用不同的编码方式。在中国使用人数最多的少数民族文字有七种:蒙古文、藏文、维吾尔文、哈萨克文、朝鲜文、彝文和壮文。其中蒙古文、哈萨克文、朝鲜文还须考虑和使用这些文字的其它国家如蒙古国、哈萨克斯坦共和国、朝鲜和韩国使用的编码一致。中文信息处理主要是汉字,但不只是汉字。它也应该而且必须包括少数民族语言的文字处理这一重要组成部分。这对加强民族团结、提高少数民族地区的经济、文化、科技发展,对于回击外国反华势力攻击中国不重视少数民族的谎言,都有十分重要的意义。为了在一个计算机系统内同时处理汉字和多种少数民族文字,就必须使用既有汉字、又有各少数民族文字的统一大字符集。

       海内外华人使用的汉字有很大差异,这种差异不只是反映在简繁体和用词的不同,更重要的是编码和字符集不同,而要解决这个问题必须采用统一的大字符集。而且,国际化的要求也使得大字符集的使用更为迫切。

       ISO 10646 信息技术通用多八位编码字符集(Information technology-Universal Multiple-

       octet Coded Character Set,缩写为UCS)是国际标准化组织对全世界各国地区使用的书面语言文字及符号进行统一编码的编码字符集的国际标准。已于1993年5月正式审定公布了ISO 10646.1。我国根据等同采用国际标准的原则,也于1993年12月宣布为国家标准GB13000.1。

    [1] [2] 下一页  

    教程录入:小秦    责任编辑:小秦 
  • 上一篇教程:

  • 下一篇教程:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |