Function
GLibconvert
Declaration
gchar*
g_convert (
const gchar* str,
gssize len,
const gchar* to_codeset,
const gchar* from_codeset,
gsize* bytes_read,
gsize* bytes_written,
GError** error
)
Description
Converts a string from one character set to another.
Note that you should use g_iconv()
for streaming conversions.
Despite the fact that bytes_read
can return information about partial
characters, the g_convert_… functions are not generally suitable
for streaming. If the underlying converter maintains internal state,
then this won’t be preserved across successive calls to g_convert(),
g_convert_with_iconv()
or g_convert_with_fallback(). (An example of
this is the GNU C converter for CP1255 which does not emit a base
character until it knows that the next character is not a mark that
could combine with the base character.)
Using extensions such as “//TRANSLIT” may not work (or may not work
well) on many platforms. Consider using g_str_to_ascii()
instead.
Parameters
str |
An array of guint8 |
|
|
The length of the array is specified in the len argument. | |
The data is owned by the caller of the function. | |
len |
gssize |
The length of the string in bytes, or -1 if the string is
nul-terminated (Note that some encodings may allow nul
bytes to occur inside strings. In that case, using -1
for the |
|
to_codeset |
const gchar* |
Name of character set into which to convert |
|
The data is owned by the caller of the function. | |
The value is a NUL terminated UTF-8 string. | |
from_codeset |
const gchar* |
Character set of |
|
The data is owned by the caller of the function. | |
The value is a NUL terminated UTF-8 string. | |
bytes_read |
gsize* |
Location to store the number of bytes in
the input string that were successfully converted, or |
|
The argument will be set by the function. | |
The argument can be NULL . | |
bytes_written |
gsize* |
The number of bytes stored in the output buffer (not including the terminating nul). |
|
The argument will be set by the function. | |
The argument can be NULL . | |
error |
GError ** |
The return location for a GError* , or NULL . |
Return value
Returns: | An array of guint8 |
|
|
The length of the array is in the bytes_written argument. | |
The caller of the function takes ownership of the data, and is responsible for freeing it. |