转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 办公软件 >> 正文
Linux程序员必读:中文化与GB18030标准         

Linux程序员必读:中文化与GB18030标准

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1297 更新时间:2009/4/25 1:16:10
作 者: Leon

Linux的中文化是Linux真正在中国获得应用首先需要解决的问题。从Xteam推出世界上第一个中文Linux开始,中文化走过了本地化(Localization, L10N)到国际化(Internationalization, I18N)的发展路程,现在已经推出了可以流畅处理中文的Linux产品。

本地化,即L10N要解决的问题是如何将系统中的其它语言的信息转变为本地的文字。对于Linux而言,就是要让应用程序的界面、提示信息变成中文。国际化,即I18N解决的问题则是如何透明地处理各种语言文字,在不需要对应用程序做改动的前提下,能够显示、输入、处理各种语言。目前,I18N是解决世界上各种语言的处理的最好方式。

在Linux上实现I18N,所要做的工作是:

使Linux核心支持I18N

使glibc支持I18N。glibc是Linux系统中最底层的支持软件,通过glibc中提供的locale机制,应用程序能够实现I18N。

使XWindow支持I18N。Xwindow是Linux下最常用的图形界面系统,它采用了Xlocale机制为应用程序提供I18N支持。

使其它应用程序如Java、Mozilla支持I18N。Java、Mozilla等跨平台应用提供自己的I18N支持。


目前,除了Linux核心仍然不能进行各种语言文字的显示和输入,其它的部分能够比较好的支持I18N。
除了I18N,另一个影响Linux中文信息处理的关键是中文信息编码。在中国,中文信息编码由政府负责制定并监督实施。这是为了保证对于所有的系统中文的编码都是一致的,能够互相进行操作。从计算机的应用开始,我国已经颁布了多种中文信息编码标准,常用的是GB2312-1980,GB12345,GB13000(GBK),以及最新标准GB18030。值得一提的是,最新的GB18030标准将要作为强制标准实行,所有不支持GB18030标准的软件将不能作为产品出售。

从GB2312-1980编码开始,汉字都是采用双字节编码。为了与系统中基本的ASCII字符集区分开,所有汉字编码的每个字节的第一位都是1。例如:“啊”字的编码为0xB0A1。GB2312的汉字编码规则为:第一个字节的值在0xB0到0xF7之间,第二个字节的值在0xA0到0xFE之间。GB12345和GB13000是对GB2312-1980的扩充,所有已经包含在GB2312中的汉字编码不变,另外增加更多的码位。其编码规则大致为:第一个字节的值在0x81到0xFE之间,第二个字节的值在0x40到0xFE之间。由于GB13000是对GB2312的扩展,所以也被成为GBK。

GB18030也是对GB2312的扩展,其编码长度由2个字节变为1~4个字节。其中包括:

单字节,其值从0到0x7F

双字节,第一个字节的值从0x81到0xFE,第二个字节的值从0x40到0xFE(不包括0x7F)

四字节,第一个字节的值从0x81到0xFE,第二个字节的值从0x30到0x39,第三个字节的值从0x81到0xFE,第四个字节的值从0x30到0x39。


可以看出,GB18030的容量非常大,共有码位160万左右。另外,它与GB13000标准是兼容的。因此,所有基于GB13000设计的软件都能够不经修改运行在支持GB18030的系统平台上。
在Linux系统中,由于GB18030标准的复杂性,实现GB18030标准有一定的困难。但是,幸运的是,在广大Linux开发者的共同努力下,现在的Linux系统已经基本实现了GB18030标准:

在glibc中,已经有了GB18030的locale以及处理程序,应用程序可以正确识别并处理GB18030编码。

对于Xwindow,目前还没有Xfree86组织正式发布的GB18030支持。但是国内厂家已经积极的参加了其中的工作。例如,在最新的XteamLinux4.0中,不但包括了支持GB18030的Xwindow系统,常用的KDE和GNOME系统目前也已经支持GB18030。在KDE中甚至可以直接将GB18030的文件打印出来。另外,XteamLinux4.0中还包括了最新的支持GB18030的中文输入法。

其它应用程序方面,由于Java的代码相对封闭,对于GB18030的支持还不清楚。但是由于Java内部采用Unicode作为编码,支持GB18030应该不成问题。Mozilla的GB18030支持采用了自己的专有方式:将GB18030分为2字节和4字节两种编码,分别加以支持。但是它的这种支持方式还需要一些额外的程序配合。目前,XteamLinux4.0中的Mozilla已经能够正确处理GB18030编码,例如自动显示一个GB18030编码的网页。


关于GB18030的实现其实包含了许多的细节,更多详细的内容可以参考GB18030标准文本。

摘自:蓝森林


[SyBase]Linux程序员必读:中文化与GB18030标准  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    An error occurred on the server when processing the URL. Please contact the system administrator.

    If you are the system administrator please click here to find out more about this error.

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao 信息产业部ICP备案号:鄂ICP备11006601号

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台