ACIUnicodeToCharSet()

ACIUnicodeToCharSet()

作用:

将Unicode字符串转换为多字节字符串,然后转换为数组。

语法:

sword ACIUnicodeToCharSet ( void        *hndl,
                            OraText     *dst,
                            size_t       dstlen,
                            const ub2   *src,
                            size_t       srclen,
                            size_t      *rsize );

参数:

  • hndl (IN/OUT)

ACI环境或用户会话句柄。 如果句柄无效,则该函数返回ACI_INVALID_HANDLE。

  • dst (OUT)

指向目标缓冲区的指针。

  • dstlen (IN)

目标缓冲区的大小(以字节为单位)。

  • src (IN)

指向Unicode字符串的指针。

  • srclen (IN)

源字符串的大小(以字符为单位)。

  • rsize (OUT)

转换的字节数。 如果它是NULL指针,则不返回任何内容。

说明:

将Unicode字符串转换为多字节字符串,然后转换为数组。转换的多字节字符集为hndl中的字符集。

达到源限制或目标限制时,转换将停止。 该函数返回转换为多字节字符串的字节数。 如果dstlen为零,则该函数不进行转换就将字节数返回给rsize。

如果Unicode字符不可转换为ACI环境或用户会话句柄中指定的字符集,则使用替换字符。 在这种情况下, ACICharSetConversionIsReplacementUsed 返回TRUE。

如果在 ACIEnvNlsCreate 函数中为charset参数指定了ACI_UTF16ID,则此函数将产生错误。

返回值:ACI_SUCCESS、ACI_INVALID_HANDLE 或 ACI_ERROR.