IMPORT_C GQuark | g_convert_error_quark | ( | void | ) |
typedef struct _GIConv * | GIConv |
g_iconv_open: : destination codeset : source codeset
Same as the standard UNIX routine iconv_open(), 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.
Return value: a "conversion descriptor", or (GIConv)-1 if opening the converter failed.
IMPORT_C gsize | g_iconv | ( | GIConv | converter, |
gchar ** | inbuf, | |||
gsize * | inbytes_left, | |||
gchar ** | outbuf, | |||
gsize * | outbytes_left | |||
) |
g_iconv: : conversion descriptor from g_iconv_open() : bytes to convert : inout parameter, bytes remaining to convert in : converted output bytes : inout parameter, bytes available to fill in
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.
Return value: count of non-reversible conversions, or -1 on error
g_iconv_close: : a conversion descriptor from g_iconv_open()
Same as the standard UNIX routine iconv_close(), but may be implemented via libiconv on UNIX flavors that lack a native implementation. Should be called to clean up the conversion descriptor from g_iconv_open() when you are done converting things.
GLib provides g_convert() and g_locale_to_utf8() which are likely more convenient than the raw iconv wrappers.
Return value: -1 on error, 0 on success
IMPORT_C gchar * | g_convert | ( | const gchar * | str, |
gssize | len, | |||
const gchar * | to_codeset, | |||
const gchar * | from_codeset, | |||
gsize * | bytes_read, | |||
gsize * | bytes_written, | |||
GError ** | error | |||
) |
g_convert: : the string to convert : the length of the string, or -1 if the string is nul-terminated<footnote id="nul-unsafe">
Note that some encodings may allow nul bytes to occur inside strings. In that case, using -1 for the parameter is unsafe.
</footnote>. : name of character set into which to convert : character set of . : location to store the number of bytes in the input string that were successfully converted, or NULL. Even if the conversion was successful, this may be less than if there were partial characters at the end of the input. If the error G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will the byte offset after the last valid input sequence. : the number of bytes stored in the output buffer (not including the terminating nul). : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts a string from one character set to another.
Note that you should use g_iconv() for streaming conversions<footnoteref linkend="streaming-state">.
Return value: If the conversion was successful, a newly allocated nul-terminated string, which must be freed with g_free(). Otherwise NULL and will be set.
IMPORT_C gchar * | g_convert_with_iconv | ( | const gchar * | str, |
gssize | len, | |||
GIConv | converter, | |||
gsize * | bytes_read, | |||
gsize * | bytes_written, | |||
GError ** | error | |||
) |
g_convert_with_iconv: : the string to convert : the length of the string, or -1 if the string is nul-terminated<footnoteref linkend="nul-unsafe">. : conversion descriptor from g_iconv_open() : location to store the number of bytes in the input string that were successfully converted, or NULL. Even if the conversion was successful, this may be less than if there were partial characters at the end of the input. If the error G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will the byte offset after the last valid input sequence. : the number of bytes stored in the output buffer (not including the terminating nul). : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts a string from one character set to another.
Note that you should use g_iconv() for streaming conversions<footnote id="streaming-state">
Despite the fact that can return information about partial characters, the <literal>g_convert_...</literal> functions are not generally suitable for streaming. If the underlying converter being used 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.)
</footnote>.
Return value: If the conversion was successful, a newly allocated nul-terminated string, which must be freed with g_free(). Otherwise NULL and will be set.
IMPORT_C gchar * | g_convert_with_fallback | ( | const gchar * | str, |
gssize | len, | |||
const gchar * | to_codeset, | |||
const gchar * | from_codeset, | |||
gchar * | fallback, | |||
gsize * | bytes_read, | |||
gsize * | bytes_written, | |||
GError ** | error | |||
) |
g_convert_with_fallback: : the string to convert : the length of the string, or -1 if the string is nul-terminated<footnoteref linkend="nul-unsafe">. : name of character set into which to convert : character set of . : UTF-8 string to use in place of character not present in the target encoding. (The string must be representable in the target encoding). If NULL, characters not in the target encoding will be represented as Unicode escapes or . : location to store the number of bytes in the input string that were successfully converted, or NULL. Even if the conversion was successful, this may be less than if there were partial characters at the end of the input. : the number of bytes stored in the output buffer (not including the terminating nul). : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts a string from one character set to another, possibly including fallback sequences for characters not representable in the output. Note that it is not guaranteed that the specification for the fallback sequences in will be honored. Some systems may do an approximate conversion from to in their iconv() functions, in which case GLib will simply return that approximate conversion.
Note that you should use g_iconv() for streaming conversions<footnoteref linkend="streaming-state">.
Return value: If the conversion was successful, a newly allocated nul-terminated string, which must be freed with g_free(). Otherwise NULL and will be set.
IMPORT_C gchar * | g_locale_to_utf8 | ( | const gchar * | opsysstring, |
gssize | len, | |||
gsize * | bytes_read, | |||
gsize * | bytes_written, | |||
GError ** | error | |||
) |
g_locale_to_utf8: : a string in the encoding of the current locale. On Windows this means the system codepage. : the length of the string, or -1 if the string is nul-terminated<footnoteref linkend="nul-unsafe">. : location to store the number of bytes in the input string that were successfully converted, or NULL. Even if the conversion was successful, this may be less than if there were partial characters at the end of the input. If the error G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will the byte offset after the last valid input sequence. : the number of bytes stored in the output buffer (not including the terminating nul). : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts a string which is in the encoding used for strings by the C runtime (usually the same as that used by the operating system) in the <link linkend="setlocale">current locale</link> into a UTF-8 string.
Return value: The converted string, or NULL on an error.
IMPORT_C gchar * | g_locale_from_utf8 | ( | const gchar * | utf8string, |
gssize | len, | |||
gsize * | bytes_read, | |||
gsize * | bytes_written, | |||
GError ** | error | |||
) |
g_locale_from_utf8: : a UTF-8 encoded string : the length of the string, or -1 if the string is nul-terminated<footnoteref linkend="nul-unsafe">. : location to store the number of bytes in the input string that were successfully converted, or NULL. Even if the conversion was successful, this may be less than if there were partial characters at the end of the input. If the error G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will the byte offset after the last valid input sequence. : the number of bytes stored in the output buffer (not including the terminating nul). : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts a string from UTF-8 to the encoding used for strings by the C runtime (usually the same as that used by the operating system) in the <link linkend="setlocale">current locale</link>. On Windows this means the system codepage.
Return value: The converted string, or NULL on an error.
IMPORT_C gchar * | g_filename_to_utf8 | ( | const gchar * | opsysstring, |
gssize | len, | |||
gsize * | bytes_read, | |||
gsize * | bytes_written, | |||
GError ** | error | |||
) |
g_filename_to_utf8: : a string in the encoding for filenames : the length of the string, or -1 if the string is nul-terminated<footnoteref linkend="nul-unsafe">. : location to store the number of bytes in the input string that were successfully converted, or NULL. Even if the conversion was successful, this may be less than if there were partial characters at the end of the input. If the error G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will the byte offset after the last valid input sequence. : the number of bytes stored in the output buffer (not including the terminating nul). : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts a string which is in the encoding used by GLib for filenames into a UTF-8 string. Note that on Windows GLib uses UTF-8 for filenames; on other platforms, this function indirectly depends on the <link linkend="setlocale">current locale</link>.
Return value: The converted string, or NULL on an error.
IMPORT_C gchar * | g_filename_from_utf8 | ( | const gchar * | utf8string, |
gssize | len, | |||
gsize * | bytes_read, | |||
gsize * | bytes_written, | |||
GError ** | error | |||
) |
g_filename_from_utf8: : a UTF-8 encoded string. : the length of the string, or -1 if the string is nul-terminated. : location to store the number of bytes in the input string that were successfully converted, or NULL. Even if the conversion was successful, this may be less than if there were partial characters at the end of the input. If the error G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will the byte offset after the last valid input sequence. : the number of bytes stored in the output buffer (not including the terminating nul). : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts a string from UTF-8 to the encoding GLib uses for filenames. Note that on Windows GLib uses UTF-8 for filenames; on other platforms, this function indirectly depends on the <link linkend="setlocale">current locale</link>.
Return value: The converted string, or NULL on an error.
g_filename_from_uri: : a uri describing a filename (escaped, encoded in ASCII). : Location to store hostname for the URI, or NULL. If there is no hostname in the URI, NULL will be stored in this location. : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts an escaped ASCII-encoded URI to a local filename in the encoding used for filenames.
Return value: a newly-allocated string holding the resulting filename, or NULL on an error.
g_filename_to_uri: : an absolute filename specified in the GLib file name encoding, which is the on-disk file name bytes on Unix, and UTF-8 on Windows : A UTF-8 encoded hostname, or NULL for none. : location to store the error occuring, or NULL to ignore errors. Any of the errors in GConvertError may occur.
Converts an absolute filename to an escaped ASCII-encoded URI, with the path component following Section 3.3. of RFC 2396.
Return value: a newly-allocated string holding the resulting URI, or NULL on an error.
g_filename_display_name: : a pathname hopefully in the GLib file name encoding
Converts a filename into a valid UTF-8 string. The conversion is not necessarily reversible, so you should keep the original around and use the return value of this function only for display purposes. Unlike g_filename_to_utf8(), the result is guaranteed to be non-NULL even if the filename actually isn't in the GLib file name encoding.
If GLib can not make sense of the encoding of , as a last resort it replaces unknown characters with U+FFFD, the Unicode replacement character. You can search the result for the UTF-8 encoding of this character (which is "\357\277\275" in octal notation) to find out if was in an invalid encoding.
If you know the whole pathname of the file you should use g_filename_display_basename(), since that allows location-based translation of filenames.
Return value: a newly allocated string containing a rendition of the filename in valid UTF-8
Since: 2.6
g_get_filename_charsets: : return location for the NULL-terminated list of encoding names
Determines the preferred character sets used for filenames. The first character set from the is the filename encoding, the subsequent character sets are used when trying to generate a displayable representation of a filename, see g_filename_display_name().
On Unix, the character sets are determined by consulting the environment variables <envar>G_FILENAME_ENCODING</envar> and <envar>G_BROKEN_FILENAMES</envar>. On Windows, the character set used in the GLib API is always UTF-8 and said environment variables have no effect.
<envar>G_FILENAME_ENCODING</envar> may be set to a comma-separated list of character set names. The special token "@locale" is taken to mean the character set for the <link linkend="setlocale">current locale</link>. If <envar>G_FILENAME_ENCODING</envar> is not set, but <envar>G_BROKEN_FILENAMES</envar> is, the character set of the current locale is taken as the filename encoding. If neither environment variable is set, UTF-8 is taken as the filename encoding, but the character set of the current locale is also put in the list of encodings.
The returned belong to GLib and must not be freed.
Note that on Unix, regardless of the locale character set or <envar>G_FILENAME_ENCODING</envar> value, the actual file names present on a system might be in any random encoding or just gibberish.
Return value: TRUE if the filename encoding is UTF-8.
Since: 2.6
g_filename_display_basename: : an absolute pathname in the GLib file name encoding
Returns the display basename for the particular filename, guaranteed to be valid UTF-8. The display name might not be identical to the filename, for instance there might be problems converting it to UTF-8, and some files can be translated in the display.
If GLib can not make sense of the encoding of , as a last resort it replaces unknown characters with U+FFFD, the Unicode replacement character. You can search the result for the UTF-8 encoding of this character (which is "\357\277\275" in octal notation) to find out if was in an invalid encoding.
You must pass the whole absolute pathname to this functions so that translation of well known locations can be done.
This function is preferred over g_filename_display_name() if you know the whole path, as it allows translation.
Return value: a newly allocated string containing a rendition of the basename of the filename in valid UTF-8
Since: 2.6
g_uri_list_extract_uris: : an URI list
Splits an URI list conforming to the text/uri-list mime type defined in RFC 2483 into individual URIs, discarding any comments. The URIs are not validated.
Returns: a newly allocated NULL-terminated list of strings holding the individual URIs. The array should be freed with g_strfreev().
Since: 2.6