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.