繁體中文 Solaris 使用者指南

亞洲專用公用程式

本節說明寬字元與字串輸入輸出、字元分類的功能,以及韓文或中文字元集的轉換功能。亞洲版 Solaris 軟體實作了一個寬字元程式庫, 以處理符合工業標準之韓文或中文程式碼。

韓文或中文語言專用的常式存放在該語言專用的程式庫,並由相應的 C 編譯程式選項連結。 在繁體中文 Solaris,libhle 使用 -lhle 來連結。請參閱適當的線上援助頁來取得詳細資訊。

亞洲版 Solaris 軟體將 WC 定義為固定寬度的 4 位元組代碼。 WC 使用 ANSI C 資料類型 wchar_t,它在 Solaris 軟體的 wchar.h 中定義如下:


typedef long wchar_h;

在Solaris 軟體,long 為四個位元組。

轉換公用程式

您可以使用本節說明的轉換公用程式,不過您應該使用 iconv 當作標準功能。

亞洲版 Solaris 軟體提供各種轉換設備,例如:

使用一般多位元組轉換公用程式的程式應該含括標頭檔 widec.hwctype.h。 繁體中文 Solaris 專用的常式 (如 ishxxx) 在 zh_TW/xctype.h 中宣告。

使用一般多位元組轉換公用程式的程式應該含括三個標頭檔:wctype.hwidec.h、 以及 zh_TW/xctype.h

如前一節的分類功能的說明,這些公共程式的使用可用 setlocale 功能來控制。語言環境專用的常式儲存在語言環境專用的程式庫中。 在繁體中文,該程式庫是 libhle。在編譯時,可使用 C 編譯程式常式選項 -lhle 來連結該程式庫。

在同一個程式碼集內轉換

多位元組轉換功能和 1 位元組轉換功能 toupper()tolower() 類似。 這些功能將寬字元轉換為其它寬字元。請參閱線上援助頁中的 wconv(3) 來取得所有語言境境、以及 hconv(3) 來取得繁體中文中的詳細資訊。

下列常式包含在一般的中文 C 程式庫中:

表 B-2

功能 

說明 

tohupper()

將程式碼集 1 羅馬字母小寫轉換為大寫。 

tohlower()

將程式碼集 1 羅馬字母大寫轉換為小寫。 

繁體中文程式碼的轉換

下列常式可對 CNS-11643 字元集執行以字元為基礎的程式碼轉換。它們可將字元集中的字元轉換為 CNS-11643、EUC 與 Big5 的格式。 使用這些常式時,必須用 C 編譯程式常式選項 -lhle 連結程式庫 hle。 請參閱 hconv(3x) 線上援助頁來取得詳細資訊。

表 B-3

功能 

說明 

cbig5toeuc()

將 Big5 字元轉換為 EUC。 

ccnstoeuc()

將 CNS 字元轉換為 EUC。 

ceuctobig5()

將 EUC 字元轉換為 Big5。 

ceuctocns()

將 EUC 字元轉換為 CNS。 

表 B-4

功能 

說明 

big5toeuc()

將 Big5 字串轉換為 EUC。 

cnstoeuc()

將 CNS 字串轉換為 EUC。 

euctobig5()

將 EUC 字串轉換為 Big5。 

euctocns()

將 EUC 字串轉換為 CNS。