GIOStatus g_io_channel_set_encoding ( GIOChannel* channel, const gchar* encoding, GError** error )
Sets the encoding for the input/output of the channel. The internal encoding is always UTF-8. The default encoding for the external file is UTF-8.
NULL is safe to use with binary data.
The encoding can only be set if one of the following conditions is true:
The channel was just created, and has not been written to or read from yet.
The channel is write-only.
The channel is a file, and the file pointer was just repositioned by a call to g_io_channel_seek_position(). (This flushes all the internal buffers.)
The current encoding is
One of the (new API) read functions has just returned
G_IO_STATUS_EOF(or, in the case of g_io_channel_read_to_end(),
One of the functions
G_IO_STATUS_ERROR. This may be useful in the case of
G_CONVERT_ERROR_ILLEGAL_SEQUENCE. Returning one of these statuses from g_io_channel_read_line(), g_io_channel_read_line_string(), or
g_io_channel_read_to_end()does not guarantee that the encoding can be changed.
Channels which do not meet one of the above conditions cannot call
g_io_channel_seek_position() with an offset of
G_SEEK_CUR, and, if
they are “seekable”, cannot call
calling one of the API “read” functions.
The encoding type.
|The argument can be |
|The data is owned by the caller of the function.|
|The string is a NUL terminated UTF-8 string.|
|The return location for a