函数

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 字符串。