Method

GLibIConv

Declaration

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

Description

Same as the standard UNIX routine iconv(), but may be implemented via libiconv on UNIX flavors that lack a native implementation.

GLib provides g_convert() and g_locale_to_utf8() which are likely more convenient than the raw iconv wrappers.

Note that the behaviour of iconv() for characters which are valid in the input character set, but which have no representation in the output character set, is implementation defined. This function may return success (with a positive number of non-reversible conversions as replacement characters were used), or it may return -1 and set an error such as EILSEQ, in such a situation.

This method is not directly available to language bindings.

Parameters

inbuf

Type: gchar**

Bytes to convert.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
inbytes_left

Type: gsize*

Inout parameter, bytes remaining to convert in inbuf.

The argument will be modified by the function.
outbuf

Type: gchar**

Converted output bytes.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
outbytes_left

Type: gsize*

Inout parameter, bytes available to fill in outbuf.

The argument will be modified by the function.

Return value

Type: gsize

Count of non-reversible conversions, or -1 on error.