亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

Linux中文化與GB18030標(biāo)準(zhǔn)
2009-05-22   

    Linux的中文化是Linux真正在中國(guó)獲得應(yīng)用首先需要解決的問(wèn)題。從Xteam推出世界上第一個(gè)中文Linux開(kāi)始,中文化走過(guò)了本地化(Localization,L10N)到國(guó)際化(Internationalization,I18N)的發(fā)展路程,現(xiàn)在已經(jīng)推出了可以流暢處理中文的 Linux產(chǎn)品。
本地化,即L10N要解決的問(wèn)題是如何將系統(tǒng)中的其它語(yǔ)言的信息轉(zhuǎn)變?yōu)楸镜氐奈淖帧?duì)于Linux而言,就是要讓?xiě)?yīng)用程序的界面、提示信息變成中文。國(guó)際化,即I18N解決的問(wèn)題則是如何透明地處理各種語(yǔ)言文字,在不需要對(duì)應(yīng)用程序做改動(dòng)的前提下,能夠顯示、輸入、處理各種語(yǔ)言。目前,I18N是解決世界上各種語(yǔ)言的處理的最好方式。
在Linux上實(shí)現(xiàn)I18N,所要做的工作是:
* 使Linux核心支持I18N。
* 使glibc支持I18N。glibc是Linux系統(tǒng)中最底層的支持軟件,通過(guò)glibc中提供的locale機(jī)制,應(yīng)用程序能夠?qū)崿F(xiàn)I18N。
* 使XWindow支持I18N。Xwindow是Linux下最常用的圖形界面系統(tǒng),它采用了Xlocale機(jī)制為應(yīng)用程序提供I18N支持。
* 使其它應(yīng)用程序如Java、Mozilla支持I18N。Java、Mozilla等跨平臺(tái)應(yīng)用提供自己的I18N支持。
目前,除了Linux核心仍然不能進(jìn)行各種語(yǔ)言文字的顯示和輸入,其它的部分能夠比較好的支持I18N。
除了I18N,另一個(gè)影響Linux中文信息處理的關(guān)鍵是中文信息編碼。在中國(guó),中文信息編碼由政府負(fù)責(zé)制定并監(jiān)督實(shí)施。這是為了保證對(duì)于所有的系統(tǒng)中文的編碼都是一致的,能夠互相進(jìn)行操作。從計(jì)算機(jī)的應(yīng)用開(kāi)始,我國(guó)已經(jīng)頒布了多種中文信息編碼標(biāo)準(zhǔn),常用的是GB2312-1980,GB12345, GB13000(GBK),以及最新標(biāo)準(zhǔn)GB18030。值得一提的是,最新的GB18030標(biāo)準(zhǔn)將要作為強(qiáng)制標(biāo)準(zhǔn)實(shí)行,所有不支持GB18030標(biāo)準(zhǔn)的軟件將不能作為產(chǎn)品出售。
從GB2312-1980編碼開(kāi)始,漢字都是采用雙字節(jié)編碼。為了與系統(tǒng)中基本的ASCII字符集區(qū)分開(kāi),所有漢字編碼的每個(gè)字節(jié)的第一位都是1。例如: “啊”字的編碼為0xB0A1。GB2312的漢字編碼規(guī)則為:第一個(gè)字節(jié)的值在0xB0到0xF7之間,第二個(gè)字節(jié)的值在0xA0到0xFE之間。 GB12345和GB13000是對(duì)GB2312-1980的擴(kuò)充,所有已經(jīng)包含在GB2312中的漢字編碼不變,另外增加更多的碼位。其編碼規(guī)則大致為:第一個(gè)字節(jié)的值在0x81到0xFE之間,第二個(gè)字節(jié)的值在0x40到0xFE之間。由于GB13000是對(duì)GB2312的擴(kuò)展,所以也被成為 GBK。
GB18030也是對(duì)GB2312的擴(kuò)展,其編碼長(zhǎng)度由2個(gè)字節(jié)變?yōu)?~4個(gè)字節(jié)。其中包括:
* 單字節(jié),其值從0到0x7F。
* 雙字節(jié),第一個(gè)字節(jié)的值從0x81到0xFE,第二個(gè)字節(jié)的值從0x40到0xFE(不包括0x7F)。
* 四字節(jié),第一個(gè)字節(jié)的值從0x81到0xFE,第二個(gè)字節(jié)的值從0x30到0x39,第三個(gè)字節(jié)的值從0x81到0xFE,第四個(gè)字節(jié)的值從0x30到0x39。
可以看出,GB18030的容量非常大,共有碼位160萬(wàn)左右。另外,它與GB13000標(biāo)準(zhǔn)是兼容的。因此,所有基于GB13000設(shè)計(jì)的軟件都能夠不經(jīng)修改運(yùn)行在支持GB18030的系統(tǒng)平臺(tái)上。
在Linux系統(tǒng)中,由于GB18030標(biāo)準(zhǔn)的復(fù)雜性,實(shí)現(xiàn)GB18030標(biāo)準(zhǔn)有一定的困難。但是,幸運(yùn)的是,在廣大Linux開(kāi)發(fā)者的共同努力下,現(xiàn)在的Linux系統(tǒng)已經(jīng)基本實(shí)現(xiàn)了GB18030標(biāo)準(zhǔn):
* 在glibc中,已經(jīng)有了GB18030的locale以及處理程序,應(yīng)用程序可以正確識(shí)別并處理GB18030編碼。
* 對(duì)于Xwindow,目前還沒(méi)有Xfree86組織正式發(fā)布的GB18030支持。但是國(guó)內(nèi)廠家已經(jīng)積極的參加了其中的工作。例如,在最新的 XteamLinux4.0中,不但包括了支持GB18030的Xwindow系統(tǒng),常用的KDE和GNOME系統(tǒng)目前也已經(jīng)支持GB18030。在 KDE中甚至可以直接將GB18030的文件打印出來(lái)。另外,XteamLinux4.0中還包括了最新的支持GB18030的中文輸入法。
* 其它應(yīng)用程序方面,由于Java的代碼相對(duì)封閉,對(duì)于GB18030的支持還不清楚。但是由于Java內(nèi)部采用Unicode作為編碼,支持 GB18030應(yīng)該不成問(wèn)題。Mozilla的GB18030支持采用了自己的專(zhuān)有方式:將GB18030分為2字節(jié)和4字節(jié)兩種編碼,分別加以支持。但是它的這種支持方式還需要一些額外的程序配合。目前,XteamLinux4.0中的Mozilla已經(jīng)能夠正確處理GB18030編碼,例如自動(dòng)顯示一個(gè)GB18030編碼的網(wǎng)頁(yè)。
關(guān)于GB18030的實(shí)現(xiàn)其實(shí)包含了許多的細(xì)節(jié),更多詳細(xì)的內(nèi)容可以參考GB18030標(biāo)準(zhǔn)文本。
Linux的中文化是Linux真正在中國(guó)獲得應(yīng)用首先需要解決的問(wèn)題。從Xteam推出世界上第一個(gè)中文Linux開(kāi)始,中文化走過(guò)了本地化(Localization,L10N)到國(guó)際化(Internationalization,I18N)的發(fā)展路程,現(xiàn)在已經(jīng)推出了可以流暢處理中文的 Linux產(chǎn)品。
本地化,即L10N要解決的問(wèn)題是如何將系統(tǒng)中的其它語(yǔ)言的信息轉(zhuǎn)變?yōu)楸镜氐奈淖帧?duì)于Linux而言,就是要讓?xiě)?yīng)用程序的界面、提示信息變成中文。國(guó)際化,即I18N解決的問(wèn)題則是如何透明地處理各種語(yǔ)言文字,在不需要對(duì)應(yīng)用程序做改動(dòng)的前提下,能夠顯示、輸入、處理各種語(yǔ)言。目前,I18N是解決世界上各種語(yǔ)言的處理的最好方式。
在Linux上實(shí)現(xiàn)I18N,所要做的工作是:
* 使Linux核心支持I18N。
* 使glibc支持I18N。glibc是Linux系統(tǒng)中最底層的支持軟件,通過(guò)glibc中提供的locale機(jī)制,應(yīng)用程序能夠?qū)崿F(xiàn)I18N。
* 使XWindow支持I18N。Xwindow是Linux下最常用的圖形界面系統(tǒng),它采用了Xlocale機(jī)制為應(yīng)用程序提供I18N支持。
* 使其它應(yīng)用程序如Java、Mozilla支持I18N。Java、Mozilla等跨平臺(tái)應(yīng)用提供自己的I18N支持。
目前,除了Linux核心仍然不能進(jìn)行各種語(yǔ)言文字的顯示和輸入,其它的部分能夠比較好的支持I18N。
除了I18N,另一個(gè)影響Linux中文信息處理的關(guān)鍵是中文信息編碼。在中國(guó),中文信息編碼由政府負(fù)責(zé)制定并監(jiān)督實(shí)施。這是為了保證對(duì)于所有的系統(tǒng)中文的編碼都是一致的,能夠互相進(jìn)行操作。從計(jì)算機(jī)的應(yīng)用開(kāi)始,我國(guó)已經(jīng)頒布了多種中文信息編碼標(biāo)準(zhǔn),常用的是GB2312-1980,GB12345, GB13000(GBK),以及最新標(biāo)準(zhǔn)GB18030。值得一提的是,最新的GB18030標(biāo)準(zhǔn)將要作為強(qiáng)制標(biāo)準(zhǔn)實(shí)行,所有不支持GB18030標(biāo)準(zhǔn)的軟件將不能作為產(chǎn)品出售。
從GB2312-1980編碼開(kāi)始,漢字都是采用雙字節(jié)編碼。為了與系統(tǒng)中基本的ASCII字符集區(qū)分開(kāi),所有漢字編碼的每個(gè)字節(jié)的第一位都是1。例如: “啊”字的編碼為0xB0A1。GB2312的漢字編碼規(guī)則為:第一個(gè)字節(jié)的值在0xB0到0xF7之間,第二個(gè)字節(jié)的值在0xA0到0xFE之間。 GB12345和GB13000是對(duì)GB2312-1980的擴(kuò)充,所有已經(jīng)包含在GB2312中的漢字編碼不變,另外增加更多的碼位。其編碼規(guī)則大致為:第一個(gè)字節(jié)的值在0x81到0xFE之間,第二個(gè)字節(jié)的值在0x40到0xFE之間。由于GB13000是對(duì)GB2312的擴(kuò)展,所以也被成為 GBK。
GB18030也是對(duì)GB2312的擴(kuò)展,其編碼長(zhǎng)度由2個(gè)字節(jié)變?yōu)?~4個(gè)字節(jié)。其中包括:
* 單字節(jié),其值從0到0x7F。
* 雙字節(jié),第一個(gè)字節(jié)的值從0x81到0xFE,第二個(gè)字節(jié)的值從0x40到0xFE(不包括0x7F)。
* 四字節(jié),第一個(gè)字節(jié)的值從0x81到0xFE,第二個(gè)字節(jié)的值從0x30到0x39,第三個(gè)字節(jié)的值從0x81到0xFE,第四個(gè)字節(jié)的值從0x30到0x39。
可以看出,GB18030的容量非常大,共有碼位160萬(wàn)左右。另外,它與GB13000標(biāo)準(zhǔn)是兼容的。因此,所有基于GB13000設(shè)計(jì)的軟件都能夠不經(jīng)修改運(yùn)行在支持GB18030的系統(tǒng)平臺(tái)上。
在Linux系統(tǒng)中,由于GB18030標(biāo)準(zhǔn)的復(fù)雜性,實(shí)現(xiàn)GB18030標(biāo)準(zhǔn)有一定的困難。但是,幸運(yùn)的是,在廣大Linux開(kāi)發(fā)者的共同努力下,現(xiàn)在的Linux系統(tǒng)已經(jīng)基本實(shí)現(xiàn)了GB18030標(biāo)準(zhǔn):
* 在glibc中,已經(jīng)有了GB18030的locale以及處理程序,應(yīng)用程序可以正確識(shí)別并處理GB18030編碼。
* 對(duì)于Xwindow,目前還沒(méi)有Xfree86組織正式發(fā)布的GB18030支持。但是國(guó)內(nèi)廠家已經(jīng)積極的參加了其中的工作。例如,在最新的 XteamLinux4.0中,不但包括了支持GB18030的Xwindow系統(tǒng),常用的KDE和GNOME系統(tǒng)目前也已經(jīng)支持GB18030。在 KDE中甚至可以直接將GB18030的文件打印出來(lái)。另外,XteamLinux4.0中還包括了最新的支持GB18030的中文輸入法。
* 其它應(yīng)用程序方面,由于Java的代碼相對(duì)封閉,對(duì)于GB18030的支持還不清楚。但是由于Java內(nèi)部采用Unicode作為編碼,支持 GB18030應(yīng)該不成問(wèn)題。Mozilla的GB18030支持采用了自己的專(zhuān)有方式:將GB18030分為2字節(jié)和4字節(jié)兩種編碼,分別加以支持。但是它的這種支持方式還需要一些額外的程序配合。目前,XteamLinux4.0中的Mozilla已經(jīng)能夠正確處理GB18030編碼,例如自動(dòng)顯示一個(gè)GB18030編碼的網(wǎng)頁(yè)。
關(guān)于GB18030的實(shí)現(xiàn)其實(shí)包含了許多的細(xì)節(jié),更多詳細(xì)的內(nèi)容可以參考GB18030標(biāo)準(zhǔn)文本。

熱詞搜索:

上一篇:剖析嵌入式中文Linux
下一篇:I18N簡(jiǎn)述

分享到: 收藏