glib

Function locale_from_utf8

Source
pub fn locale_from_utf8(
    utf8string: impl IntoGStr,
) -> Result<(Slice<u8>, usize), CvtError>
Expand description

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 [current locale][setlocale]. On Windows this means the system codepage.

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 ConvertError::IllegalSequence. Use g_convert() to convert input that may contain embedded nul characters.

§utf8string

a UTF-8 encoded string

§len

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

§Returns

     A newly-allocated buffer containing the converted string,
     or [`None`] on an error, and error will be set.

§bytes_read

location to store the number of bytes in the input string that were successfully converted, or None. 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 ConvertError::IllegalSequence occurs, the value stored will be the byte offset after the last valid input sequence. 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 [current locale][setlocale]. On Windows this means the system codepage.

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 ConvertError::IllegalSequence. Use g_convert() to convert input that may contain embedded nul characters.

§utf8string

a UTF-8 encoded string

§len

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

§Returns

     A newly-allocated buffer containing the converted string,
     or [`None`] on an error, and error will be set.

§bytes_read

location to store the number of bytes in the input string that were successfully converted, or None. 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 ConvertError::IllegalSequence occurs, the value stored will be the byte offset after the last valid input sequence.