函数

GLibutf8_to_ucs4

声明 [源代码]

gunichar*
g_utf8_to_ucs4 (
  const gchar* str,
  glong len,
  glong* items_read,
  glong* items_written,
  GError** error
)

描述 [源代码]

将字符串从 UTF-8 转换为 32 位固定宽度表示的 UCS-4。

在转换文本之后,将在字符串末尾添加一个尾随的空字符 (U+0000)。

参数

str

类型: const gchar*

UTF-8 编码的字符串。

数据由函数的调用者拥有。
值是一个以 NUL 结尾的 UTF-8 字符串。
len

类型: glong

要使用的 str 的最大长度,以字节为单位。如果 len 为负,则字符串将以 NUL 结尾。

items_read

类型: glong*

用于存储读取的字节数的位置,或 NULL。如果 NULL,则当 str 包含尾随的不完整字符时,将返回 G_CONVERT_ERROR_PARTIAL_INPUT。如果发生错误,则将无效输入的索引存储在这里。

此参数将由函数设置。
此参数可以为 NULL
items_written

类型: glong*

用于存储写入的字符数的位置或 NULL。在此处存储的值不包括尾随的空字符。

此参数将由函数设置。
此参数可以为 NULL
error

类型: GError **

恢复性错误的返回位置的地址。

此参数可以为 NULL
如果返回位置的地址不是 NULL,则必须将其初始化为空 GError*
如果没有任何错误,函数将保留初始化为 NULL 的参数。
如果发生错误,将参数设置为新的 GError;调用者将负责数据的所有权,并负责释放它。

返回值

类型: gunichar*

到新分配的 UCS-4 字符串指针。必须用 g_free() 释放此值。

函数的调用者拥有数据所有权,并负责释放它。