方法

GLibIConv

声明 [源]

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

描述 [源]

等同于标准的UNIX函数iconv(),但在缺少本地实现的UNIX版本可能通过libiconv实现。

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

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

此方法对语言绑定不可直接使用。

参数

inbuf

类型: gchar**

要转换的字节。

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

类型: gsize*

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

此参数将由函数修改。
outbuf

类型: gchar**

转换后的输出字节。

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

类型: gsize*

输入输出参数,可供填充到outbuf的字节数。

此参数将由函数修改。

返回值

类型: gsize

不可逆转换的计数,或错误时的-1。