函数

GLibiconv

声明 [源代码]

gsize
g_iconv (
  GIConv converter,
  gchar** inbuf,
  gsize* inbytes_left,
  gchar** outbuf,
  gsize* outbytes_left
)

说明 [源代码]

与标准 UNIX 例程 iconv() 相同,但可能通过 libiconv 在缺少本机实现的 UNIX 版本中实现。

GLib 提供了 g_convert()g_locale_to_utf8(),这两个比原始 iconv 包装器可能更方便。

请注意,对于输入字符集中有效但输出字符集中没有任何表示的字符的 iconv() 行为是由实现定义的。在这种情况下,此函数可能会返回成功(其中使用替换字符的不可逆转换数为正),或可能会返回 -1 并设置诸如 EILSEQ 之类的错误。

此函数不能直接用于语言绑定。

参数

converter

类型: GIConv

从 g_iconv_open() 获取的转换描述符。

inbuf

类型: gchar**

要转换的字节。

数据归函数调用方所有。
该值是 NUL 终止的 UTF-8 字符串。
inbytes_left

类型: gsize*

出入参数,inbuf 中剩余要转换的字节数。

该参数将被函数修改。
outbuf

类型: gchar**

转换后的输出字节。

数据归函数调用方所有。
该值是 NUL 终止的 UTF-8 字符串。
outbytes_left

类型: gsize*

出入参数,可在 outbuf 中填入的字节数。

该参数将被函数修改。

返回值

类型: gsize

不可逆转换计数,或在有错误时返回 -1。