电脑技术学习

Solaris 8 简体中文转换工具

dn001
;;;;;本节描述宽字符和字符串输入输出的功能,字符分类和简体中文字符集转换功能等。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;位);

标签: