在 Oracle Solaris 中进行应用程序国际化和本地化

退出打印视图

更新时间: 2014 年 7 月
 
 

在多字节字符与宽字符之间转换

以下函数用于在当前语言环境的代码集(多字节)与进程代码(宽字符表示形式)之间进行转换。

以下函数区分语言环境,并取决于当前语言环境的 LC_CTYPE 类别。对于不完整字符或非法字符,它们都返回相同错误。有关非法字符和不完整字符的更多信息,请参见Converting Codesets

mblen()

获取字符中的字节数

mbtowc()

将字符转换为宽字符代码

mbstowcs()

将字符串转换为宽字符串

wctomb()

将宽字符代码转换为字符

wcstombs()

将宽字符串转换为字符串

以下函数可重新启动,并可用于处理不完整字符情况。当上一调用所报告的不完整字符与当前调用所添加的字节一起构成有效字符时,将出现此类情况。 要存储此类处理操作所需的状态信息,函数将使用用户提供的状态结构或类型为 mbstate_t 的内部状态结构。mbsinit() 函数用于检测 mbstate_t 结构是否处于初始状态。

mbsinit()

确定转换对象状态

mbrlen()

获取字符中的字节数(可重新启动)

mbrtowc()

将字符转换为宽字符代码(可重新启动)

mbsrtowcs()

将字符串转换为宽字符串(可重新启动)

wcrtomb()

将宽字符代码转换为字符(可重新启动)

wcsrtombs()

将宽字符串转换为字符串(可重新启动)

以下函数用于在当前语言环境的代码集与进程代码之间进行转换。它们确定整数编码的字符是否使用单字节表示。如果没有,它们将分别返回 EOF 和 WEOF。

wctob()

将宽字符转换为单字节字符(如果可能)

btowc()

将单字节字符转换为宽字符(如果可能)