public string to_utf8 (long len = -1, out long items_read = null, out long items_written = null) throws ConvertError
Convert a string from UTF-16 to UTF-8.
The result will be terminated with a 0 byte.
Note that the input is expected to be already in native endianness, an initial byte-order-mark character is not handled specially. convert can be used to convert a byte buffer of UTF-16 data of ambiguous endianness.
Further note that this function does not validate the result string; it may e.g. include embedded NUL characters. The only validation done by this function is to ensure that the input can be correctly interpreted as UTF-16, i.e. it doesn't contain unpaired surrogates or partial character sequences.
the maximum length (number of unichar2) of
location to store number of words read, or null. If null, then
g_convert_error_partial_input will be returned in case
location to store number of bytes written, or null. The value stored here does not include the trailing 0 byte. It’s guaranteed to be non-negative.
a UTF-16 encoded string
a pointer to a newly allocated UTF-8 string. This value must be freed with g_free . If an error occurs, null will be returned and throws set.