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

退出打印视图

更新时间: 2014 年 7 月
 
 

处理字符和字符串

用于处理字符和字符串的字符代码可分类为以下两组:

多字节(文件代码)

文件代码用于文本数据交换并存储在文件中。它有固定字节排序方法,即大尾数法字节排序,与底层系统无关。诸如 UTF-8EUC、单字节代码集、BIG5Shift-JISPCKGBKGB18030 等代码集均属于此类别。本节中介绍的函数上下文中的多字节字符术语是一个通用术语,指当前语言环境的代码集,尽管在某些情况下此代码集为单字节代码集。

宽字符(进程代码)

进程代码是用于内部处理的字符的固定宽度表示形式。它使用平台的本机字节排序法,可为大尾数法字节排序,也可为小尾数法字节排序。诸如 UTF-32UCS-2UCS-4 等编码可为宽字符编码。

通常需要在多字节数据与宽字符数据之间进行转换。当一个程序从一个文件中获取输入时,进行输入后,通过使用输入函数(如 fscanf()fwscanf())或转换函数(如 mbtowc()mbsrtowcs())可将此文件中的多字节数据转换为宽字符进程代码。要将输出数据从宽字符格式转换为多字节字符格式,进行输出前,使用输出函数(如 fwprintf()fprintf())或应用转换函数(如 wctomb()wcsrtombs())。

以下各节介绍了用于处理字符、宽字符和相应数据类型的函数。