简体中文 Solaris 用户指南

转换公用程序

本节中介绍的转换功能都可用,但您应使用 iconv() 作为标准功能。

简体中文 Solaris 软件提供了用于各种转换的公用程序,例如:

使用通用多字节转换公用程序的程序应该包含头文件 widec.hwctype.hzh/xctype.h 中声明了简体中文 Solaris 特定的例程(如 iscxxx )。

使用通用多字节转换公用程序的程序应该包含三个头文件: wctype.hwidec.h、和 zh/xctype.h

locale/xctype.h 头文件声明与中文语言环境特定的例程,这些例程的名称具有相同的形式 isc xxxx

与前一节中介绍的分类功能一样,这些功能的使用会受 setlocale 功能的控制(本章的其他地方和其他章节将介绍此功能)。

语言环境特定的转换例程(如中文 cgbtoeuc )包含在 libcle 库中:

编译时通过 C 编译器选项 - lcle 可链接该库。

编码集内的转换

多字节转换功能类似于单字节转换功能 touppertolower。 这些功能将宽字符转换成其他宽字符。有关转换例程的更多信息,请参见 wconv(3) 和 cconv(3) 的 man 页。

以下例程在常规中文 C 库中:

表 A–3 简体中文大小写转换功能(在 zh/xctype.h 中声明)

功能 

说明 

tocupper

将编码集 1 中的小写罗马字母转换成大写字母 

toclower

将编码集 1 中的大写罗马字母转换成小写字母 

简体中文编码集之间的转换

简体中文字符集中,编码集 0 里的罗马字符和数字在编码集 1 里重复出现。以下功能测试宽字符。

表 A–4 简体中文编码集转换功能

功能 

说明 

atocgb

将 ASCII(编码集 0)中的字母或数字字符转换成相应的 GB-2312-80(编码集 1)中的字符。 

cgbtoa

将 GB-2312-80(编码集 1)中的字母或数字字符转换成相应的 ASCII(编码集 0)中的字符。 

有关这些功能的更多信息,请参见 cconv() (3x) 的 man页。