与中文语言相关的例程收集在它们自己的特指语言库中,该库按其相应的;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;位);
标签: