动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   服务器 → 阅读文章
  

 Linux中文化和GB18030标准

作者来源:Xteam软件  
阅读 1186 人次 , 2006-3-18 13:51:00 

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标准文本。

 本文Tagslinux  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:一款不错的中文输入法xsim
· 下一篇:中文Linux的基本要求
· 巧用Windows 2003构筑校园网服务器防火墙
· FTP服务器端软件Serv-U教程(1)
· Linux服务器日志管理详解(7)
· 个人服务器架设全攻略(78)
· Xitami Web服务器,比Apache更快捷


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077