Function

GLibutf8_validate

Declaration [src]

gboolean
g_utf8_validate (
  const gchar* str,
  gssize max_len,
  const gchar** end
)

Description [src]

Validates UTF-8 encoded text.

str is the text to validate; if str is nul-terminated, then max_len can be -1, otherwise max_len should be the number of bytes to validate.

If end is non-NULL, then the end of the valid range will be stored there. This is the first byte of the first invalid character if some bytes were invalid, or the end of the text being validated otherwise — either the trailing nul byte, or the first byte beyond max_len (if it’s positive).

Note that g_utf8_validate() returns FALSE if max_len is positive and any of the max_len bytes are nul.

Returns TRUE if all of str was valid. Many GLib and GTK routines require valid UTF-8 as input; so data read from a file or the network should be checked with g_utf8_validate() before doing anything else with it.

Parameters

str

Type: An array of guint8

A pointer to character data.

The length of the array is specified in the max_len argument.
The data is owned by the caller of the function.
max_len

Type: gssize

Max bytes to validate, or -1 to go until nul.

end

Type: const gchar**

Return location for end of valid data.

The argument will be set by the function.
The argument can be NULL.
The returned data is owned by the function.
The value is a NUL terminated UTF-8 string.

Return value

Type: gboolean

TRUE if the text was valid UTF-8.