函数

GLiblocale_from_utf8

声明 [src]

gchar*
g_locale_from_utf8 (
  const gchar* utf8string,
  gssize len,
  gsize* bytes_read,
  gsize* bytes_written,
  GError** error
)

说明 [src]

将 [当前语言环境][setlocale] 中的 C 运行时使用的编码中将字符串从 UTF-8 转换为字符串编码。在 Windows 中,这表示系统代码页。

即使 len 参数为正,输入字符串也不应包含空字符。如果字符串中发现空字符,则将导致错误 G_CONVERT_ERROR_ILLEGAL_SEQUENCE。使用 g_convert() 转换可能包含嵌入空字符的输入。

参数

utf8string

类型: const gchar*

编码为 UTF-8 的字符串。

数据由函数调用者所有。
该值是带有空终止符的 UTF-8 字符串。
len

类型: gssize

字符串的长度,或者如果字符串带有空终止符,则为 -1。

bytes_read

类型: gsize*

存储已成功转换的输入字符串中字节数的位置,或 NULL。即使转换成功,如果输入末尾有部分字符,那么这部分字节数也可能少于 len。如果错误 G_CONVERT_ERROR_ILLEGAL_SEQUENCE 出现,则存储的值将是最后有效输入序列之后的字节偏移量。

该参数将由函数设置。
该参数可以是 NULL
bytes_written

类型: gsize*

存储在输出缓冲区(不包括终止空)中的字节数。

该参数将由函数设置。
该参数可以是 NULL
error

类型: GError **

可恢复错误 返回位置。

该参数可以是 NULL
如果返回位置不为 NULL,则必须将其初始化为 NULLGError*
如果没有错误,该参数将被函数初始化并留在 NULL 中。
如果出现错误,该参数将被设置为一个新分配的 GError;调用者将拥有对数据的权限,并负责释放它。

返回的值

类型: guint8 数组

     A newly-allocated buffer containing the converted string,
     or `NULL` on an error, and error will be set.
数组长度在 bytes_written 参数中。
函数调用者拥有对数据的权限,并负责释放它。