繁體中文Solaris使用者指南

亞洲特有的公用程式

本節描述寬字元和字串的輸入和輸出功能、字元分類功能及韓文或中文字元集的轉換功能。亞洲版Solaris軟體採用寬字元程式庫來按照業界標準處理韓文或中文的代碼。

有中文或韓文特有的相依常式存在其語言特有的程式庫中,此程式庫連結於相關的C編譯器選項。在繁體中文Solaris中,libhle-lhle連結。詳細資訊請參考適當的線上援助頁。

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


typedef long wchar_h;

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

轉換公用程式

您可以使用本節中描述的轉換公用程式,不過您應該將iconv當成標準功能使用。

亞洲版Solaris軟體有能力可以進行各種轉換,例如:

使用一般多位元組轉換公用程式的程式應該含有標題檔widec.hwctype.h。繁體中文特有的常式(例如ishxxx)宣告於zh_TW/xctype.h中。

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

與上一節中描述的分類函數一樣,這些公用程式的使用可以用setlocale 函數控制。區域環境特有的常式在區域環境特有的程式庫中。以繁體中文來說,這個程式庫是libhle。程式庫可以在編譯時用C編譯器選項-lhle加以連結。

字碼集內的轉換

多位元組函數轉換與單位元組轉換函數toupper()tolower()類似。這些函數可以將寬字元轉換成其它寬字元。如果需要有關轉換常式的詳細資訊,所有的區域環境請參閱線上援助頁的 wconv(3),繁體中文則要參閱 hconv(3)

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

表 B-2

函數 

說明 

tohupper()

將字碼集1的Roman小寫字元轉換成大寫。 

tohlower()

將字碼集1的Roman大寫字元轉換成小寫。 

繁體中文字元碼的轉換

下列常式可以在CNS-11643字元集執行以字元為基礎的代碼轉換。這些常式可以在字元集中進行CNS-11643、EUC及Big5格式間的轉換。如果要使用這些常式,程式庫hle必須連結,而且要用C編譯器選項-lhle進行連結。如果需要詳細資訊,請參閱 hconv(3)線上援助頁。

表 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。