ACINlsCharSetConvert()¶
-
ACINlsCharSetConvert()¶
作用:
将srcid指定的字符集中src指向的字符串转换为dstid指定的字符集中dst指向的数组。 当转换达到源或目标的数据大小限制时,转换将停止。 该函数返回转换为目标缓冲区的字节数。
语法:
sword ACINlsCharSetConvert ( void *hndl,
ACIError *errhp,
ub2 dstid,
void *dstp,
size_t dstlen,
ub2 srcid,
const void *srcp,
size_t srclen,
size_t *rsize );
参数:
- hndl (IN/OUT)
ACI环境或用户会话句柄。 如果句柄无效,则该函数返回ACI_INVALID_HANDLE。
- errhp (IN/OUT)
错误句柄,该接口调用失败时,错误信息会存在该句柄上 ,调用ACIErrorGet()获得错误信息。
- dstid (IN)
目标缓冲区的字符集ID。
- dstp (OUT)
指向目标缓冲区的指针。
- dstlen (IN)
目标缓冲区的最大大小(以字节为单位)。
- srcid (IN)
源缓冲区的字符集ID。
- srcp (IN)
指向源缓冲区的指针。
- srclen (IN)
源缓冲区的长度(以字节为单位)。
- rsize (OUT)
转换的字符数。 如果指针为NULL,则不返回任何内容。
说明:
尽管可以将源字符集ID或目标字符集ID指定为ACI_UTF16ID,但是原始数据和转换后的数据的长度以字节表示,而不是字符数。 请注意,转换遇到空数据时不会停止。 要从字符集名称获取字符集ID,请使用 ACINlsCharSetNameToId 。 若要检查目标缓冲区中的派生数据是否包含替换字符,请使用 ACICharSetConversionIsReplacementUsed 。 缓冲区应与适合字符集的字节边界对齐。 例如,必须使用ub2数据类型才能将字符串保存在UTF-16中。
返回值:ACI_SUCCESS 或 ACI_ERROR 或 转换成功的字节数.