Solaris 8 簡體中文轉(zhuǎn)換工具
2024-07-26 00:29:45
供稿:網(wǎng)友
本節(jié)描述寬字符和字符串輸入輸出的功能,字符分類和簡體中文字符集轉(zhuǎn)換功能等。Solaris 2.7 軟件配有一個(gè)寬字符庫以根據(jù)工業(yè)標(biāo)準(zhǔn)處理簡體中文字符代碼。
與中文語言相關(guān)的例程收集在它們自己的特指語言庫中,該庫按其相應(yīng)的 C 編譯器選項(xiàng)連接。簡體中文 Solaris 的 libcle 庫依選項(xiàng) -lcle 實(shí)行連接。
要獲得更多的信息,參見有關(guān)的手冊(cè)頁。
亞洲版 Solaris 軟件將 WC 定義為定常寬度、四字節(jié)代碼。WC 使用 ANSI C 數(shù)據(jù)類型 wchar_t, Solaris 軟件在 wchar.h 頭文件中將該類型定義為:
typedef long wchar_h;
在 Solaris 軟件環(huán)境里,long 是四字節(jié)的數(shù)據(jù)類型。
轉(zhuǎn)換工具
本節(jié)所描述的轉(zhuǎn)換功能可供使用,然而您應(yīng)該將 iconv() 作為標(biāo)準(zhǔn)功能使用。
簡體中文 Solaris 軟件提供了用于各種轉(zhuǎn)換的工具,例如:
在一個(gè)代碼集里的字符的轉(zhuǎn)換,例如將 ASCII 大寫字母轉(zhuǎn)換成小寫字母。
在國家標(biāo)準(zhǔn)字符集不同的協(xié)議之間的轉(zhuǎn)換,例如 GB 和 EUC 之間的轉(zhuǎn)換。
代碼格式之間的轉(zhuǎn)換 (例如 EUC 和 WC 之間的轉(zhuǎn)換)。
使用通用多字節(jié)轉(zhuǎn)換工具的程序應(yīng)該包含頭文件 widec.h 和 wctype.h。簡體中文 Solaris 的特別例程 (例如 isc xxx) 在頭文件 zh/xctype.h 中被聲明。
使用通用多字節(jié)轉(zhuǎn)換工具的程序應(yīng)該包含三個(gè)頭文件:wctype.h、widec.h、和 zh/xctype.h。
locale/xctype.h 頭文件聲明與中文語言環(huán)境相關(guān)的例程,這些例程的名字具有相同的形式 isc xxxx:
像前節(jié)描述的分類功能一樣,這些功能的使用受 setlocale 功能所控制 (在本章其他地方和其他章中描述)。
與語言環(huán)境相關(guān)的轉(zhuǎn)換例程 (例如中文 cgbtoeuc) 收集在 libcle 庫里。
編譯期間,這個(gè)庫可以用 C 語言編譯器選項(xiàng) -lcle 進(jìn)行連接。
代碼集內(nèi)的轉(zhuǎn)換
多字節(jié)轉(zhuǎn)換功能與單字節(jié)轉(zhuǎn)換功能 toupper 和 tolower 相似。這些功能將寬字符轉(zhuǎn)換成其他寬字符。要獲得更多關(guān)于轉(zhuǎn)換例程的信息,參見 wconv (3) 和 cconv (3) 手冊(cè)頁。
以下例程收集在常規(guī)中文 C 庫里:
簡體中文大小寫轉(zhuǎn)換功能 (在 zh/xctype.h 中聲明):
tocupper
將代碼集 1 中的小寫羅馬字母轉(zhuǎn)換成大寫字母
toclower
將代碼集 1 中的大寫羅馬字母轉(zhuǎn)換成小寫字母
簡體中文代碼集之間的轉(zhuǎn)換
簡體中文字符集中,代碼集 0 里的羅馬字符和數(shù)字在代碼集 1 里重復(fù)出現(xiàn)。以下功能測(cè)試寬字符。
簡體中文代碼集轉(zhuǎn)換功能塊:
atocgb
將在 ASCII (代碼集 0) 里的字母或數(shù)字字符轉(zhuǎn)換成相應(yīng)的在 GB-2312-80 (代碼集 1) 里的字符。
cgbtoa
將在 GB-2312-80 (代碼集 1) 里的字母或數(shù)字字符轉(zhuǎn)換成相應(yīng)的在 ASCII (代碼集 0) 里的字符。
要獲得更多的關(guān)于這些例程的信息,參見手冊(cè)頁 cconv() (3x)。
簡體中文字符代碼轉(zhuǎn)換
以下例程在 GB-2312-80 字符集上作基于字符的代碼轉(zhuǎn)換。它們?cè)?nbsp;EUC 格式和 GB-2312-80 格式之間對(duì)字符和字符串作轉(zhuǎn)換。要使用這些例程必須連接 lib cle 庫,可使用 C 語言編譯器選項(xiàng) -lcle 實(shí)現(xiàn)連接。要獲得更多的信息,參見 cconv (3x) 手冊(cè)頁。
簡體中文基于字符的功能 :
cgbtoeuc
將一個(gè)字符從 GB-2312-80 格式 (7 位) 轉(zhuǎn)換成 EUC 格式
scgbtoeuc
將一個(gè)字符串從 GB-2312-80 格式 (7 位) 轉(zhuǎn)換成 EUC 格式
sncgbtoeuc
將一個(gè)字符串的一部分從 GB-2312-80 格式 (7 位) 轉(zhuǎn)換成 EUC 格式
euctocgb
將一個(gè)字符從 EUC 格式轉(zhuǎn)換成 GB-2312-80 格式 (7 位)
seuctocgb
將一個(gè)字符串從 EUC 格式轉(zhuǎn)換成 GB-2312-80 格式 (7 位)
sneuctocgb
將一個(gè)字符串的一部分從 EUC 格式轉(zhuǎn)換成 GB-2312-80 格式 (7 位)