函数
GLibutf16_to_utf8
声明 [src]
gchar*
g_utf16_to_utf8 (
const gunichar2* str,
glong len,
glong* items_read,
glong* items_written,
GError** error
)
说明 [src]
从 UTF-16 将字符串转换为 UTF-8。
结果将以空字节终止。
请注意,输入内容应以本机字节序格式显示,因此不会对初始字节顺序标记字符进行特殊处理。可以使用 g_convert()
转换字节序不明确的 UTF-16 数据字节缓冲区。
另外,请注意,此函数不会验证结果字符串;它(例如)可能包含嵌入的空字符。此函数执行的唯一验证是确保可以将输入正确解释为 UTF-16,即:不包含未配对的代用项或部分字符序列。
参数
str
-
类型:
guint16
数组UTF-16 编码的字符串。
数组的长度在 len
参数中指定。数据归函数调用者所有。 len
-
类型:
glong
要使用的
str
的最大长度(以 #gunichar2 为单位)。如果len
为负数,则字符串使用空字符终止。 items_read
-
类型:
glong*
用于存储已读取词语数量的位置,或者为
NULL
。如果为NULL
,则当str
包含后续部分字符时,会返回G_CONVERT_ERROR_PARTIAL_INPUT
。如果发生错误,则错误的输入索引会存储在此处。它保证是非负数。该参数将由函数设置。 该参数可以为 NULL
。 items_written
-
类型:
glong*
用于存储已写入字节数量的位置,或者为
NULL
。此处存储的值不包含末尾的空字节。它保证是非负数。该参数将由函数设置。 该参数可以为 NULL
。 error
-
类型:
GError **
用于放置 可恢复的错误 的返回位置。
该参数可以为 NULL
。如果返回位置不为 NULL
,则必须将其初始化为NULL
GError*
。如果不存在错误,则该参数将由函数初始化并保留为 NULL
。在出现错误的情况下,该参数将被设置为新分配的 GError
;调用者将拥有数据的所有权,并负责释放数据。
返回值
类型:gchar*
指向新分配的 UTF-8 字符串的指针。此值必须使用 g_free()
释放。
函数调用者将拥有数据的归属权,并负责释放数据。 |
该值为以空字符终止的 UTF-8 字符串。 |