萬盛學電腦網

 萬盛學電腦網 >> Solaris介紹 >> Solaris 8 簡體中文轉換工具

Solaris 8 簡體中文轉換工具


本節描述寬字符和字符串輸入輸出的功能,字符分類和簡體中文字符集轉換功能等。Solaris 2.7 軟件配有一個寬字符庫以根據工業標准處理簡體中文字符代碼。

與中文語言相關的例程收集在它們自己的特指語言庫中,該庫按其相應的 C 編譯器選項連接。簡體中文 Solaris 的 libcle 庫依選項 -lcle 實行連接。

要獲得更多的信息,參見有關的手冊頁。

亞洲版 Solaris 軟件將 WC 定義為定常寬度、四字節代碼。WC 使用 ANSI C 數據類型 wchar_t, Solaris 軟件在 wchar.h 頭文件中將該類型定義為:

typedef long wchar_h;
在 Solaris 軟件環境裡,long 是四字節的數據類型。

轉換工具
本節所描述的轉換功能可供使用,然而您應該將 iconv() 作為標准功能使用。

簡體中文 Solaris 軟件提供了用於各種轉換的工具,例如:

在一個代碼集裡的字符的轉換,例如將 ASCII 大寫字母轉換成小寫字母。

在國家標准字符集不同的協議之間的轉換,例如 GB 和 EUC 之間的轉換。

代碼格式之間的轉換 (例如 EUC 和 WC 之間的轉換)。

使用通用多字節轉換工具的程序應該包含頭文件 widec.h 和 wctype.h。簡體中文 Solaris 的特別例程 (例如 isc xxx) 在頭文件 zh/xctype.h 中被聲明。

使用通用多字節轉換工具的程序應該包含三個頭文件:wctype.h、widec.h、和 zh/xctype.h。

locale/xctype.h 頭文件聲明與中文語言環境相關的例程,這些例程的名字具有相同的形式 isc xxxx:

像前節描述的分類功能一樣,這些功能的使用受 setlocale 功能所控制 (在本章其他地方和其他章中描述)。

與語言環境相關的轉換例程 (例如中文 cgbtoeuc) 收集在 libcle 庫裡。

編譯期間,這個庫可以用 C 語言編譯器選項 -lcle 進行連接。

代碼集內的轉換
多字節轉換功能與單字節轉換功能 toupper 和 tolower 相似。這些功能將寬字符轉換成其他寬字符。要獲得更多關於轉換例程的信息,參見 wconv (3) 和 cconv (3) 手冊頁。

以下例程收集在常規中文 C 庫裡:


簡體中文大小寫轉換功能 (在 zh/xctype.h 中聲明):

tocupper
將代碼集 1 中的小寫羅馬字母轉換成大寫字母

toclower
將代碼集 1 中的大寫羅馬字母轉換成小寫字母


簡體中文代碼集之間的轉換
簡體中文字符集中,代碼集 0 裡的羅馬字符和數字在代碼集 1 裡重復出現。以下功能測試寬字符。


簡體中文代碼集轉換功能塊:

atocgb
將在 ASCII (代碼集 0) 裡的字母或數字字符轉換成相應的在 GB-2312-80 (代碼集 1) 裡的字符。

cgbtoa
將在 GB-2312-80 (代碼集 1) 裡的字母或數字字符轉換成相應的在 ASCII (代碼集 0) 裡的字符。


要獲得更多的關於這些例程的信息,參見手冊頁 cconv() (3x)。

簡體中文字符代碼轉換
以下例程在 GB-2312-80 字符集上作基於字符的代碼轉換。它們在 EUC 格式和 GB-2312-80 格式之間對字符和字符串作轉換。要使用這些例程必須連接 lib cle 庫,可使用 C 語言編譯器選項 -lcle 實現連接。要獲得更多的信息,參見 cconv (3x) 手冊頁。



簡體中文基於字符的功能 :
cgbtoeuc
將一個字符從 GB-2312-80 格式 (7 位) 轉換成 EUC 格式

scgbtoeuc
將一個字符串從 GB-2312-80 格式 (7 位) 轉換成 EUC 格式

sncgbtoeuc
將一個字符串的一部分從 GB-2312-80 格式 (7 位) 轉換成 EUC 格式

euctocgb
將一個字符從 EUC 格式轉換成 GB-2312-80 格式 (7 位)

seuctocgb
將一個字符串從 EUC 格式轉換成 GB-2312-80 格式 (7 位)

sneuctocgb
將一個字符串的一部分從 EUC 格式轉換成 GB-2312-80 格式 (7 位)

 
copyright © 萬盛學電腦網 all rights reserved