CharacterSet.filenameFromUtf8

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 [current locale]setlocale.

The input string shall not contain nul characters even if the @len argument is positive. A nul character found inside the string will result in error %G_CONVERT_ERROR_ILLEGAL_SEQUENCE. If the filename encoding is not UTF-8 and the conversion output contains a nul character, the error %G_CONVERT_ERROR_EMBEDDED_NUL is set and the function returns %NULL.

struct CharacterSet
static
string
filenameFromUtf8
(
string utf8string
,
ptrdiff_t len
,
out size_t bytesRead
,
out size_t bytesWritten
)

Parameters

utf8string string

a UTF-8 encoded string.

len ptrdiff_t

the length of the string, or -1 if the string is nul-terminated.

bytesRead size_t

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 @len if there were partial characters at the end of the input. If the error %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will be the byte offset after the last valid input sequence.

bytesWritten size_t

the number of bytes stored in the output buffer (not including the terminating nul).

Return Value

Type: string

The converted string, or %NULL on an error.

Throws

GException on failure.

Meta