cciUcsToMbs

将通用字符集(UCS)数据转换为多字节字符串数据。此函数通常用于格式化诊断消息。正常处理在 UCS-2 中处理最好,UCS-2 可以表示来自所有语言的字符。

样本代码(BipSampPluginUtil.c)显示了使用可移植方法处理 UCS-2 字符的更多实用程序。

语法

int cciUcsToMbs(
    int*                returnCode,
    const CciChar* ucsString,
    char*          mbString,
    int            mbStringLength,
    int            codePage);

参数

returnCode
来自函数(输出)的返回码。

可能的返回码是:
  • CCI_SUCCESS
  • CCI_BUFFER_TOO_SMALL
  • CCI_INV_CHARACTER
  • CCI_FAILURE
  • CCI_INV_CODEPAGE
ucsString
要转换的字符串,以 UCS-2 Unicode 表示(输入)。
mbString
结果得到的字符串的位置(输入)。字符串有尾随字节 0,正如 Unicode 有尾随 CciChar 0。
mbStringLength
您提供的缓冲区的长度(以字节为单位)(输入)。源字符串中的每个 CciChar 都扩展为一个字节(对于 SBCS 代码页),或者最多不超过代码页的 MB_CUR_MAX 值(通常小于五个字节),此值定义了所需的缓冲区大小的上限。
codePage
所得字符串的代码页(输入)。代码页的值应适用于编译用户定义的节点时所用的编译器。

对于 ASCII 系统,如果您使用 cciUcsToMbs 来转换字符串常量以供 WebSphere Message Broker 进行处理,则最好选择值 1208(即代码页 ibm-1208,它是 UTF-8 Unicode)。1208 适用于 Linux 和 UNIX,也适用于 Windows 平台。

在 Linux 和 UNIX 上,nl_langinfo(CODEPAGE) 可向您提供已通过 setlocale 选择的代码页。

对于 OS/390 和 z/OS,不应该使用 WebSphere MQ 的缺省代码页(此缺省代码页为 500)。您应该改为使用代码页值 1047。

返回值

以字节为单位的转换后长度。

相关概念
用户定义的扩展
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as08556_