GLib.utf8_validate
Description: Reference for GLib.utf8_validate

### Function

# GLibutf8_validate

since: 2.0

#### Declaration

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

#### Description

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 (i.e. the start of the first invalid character if some bytes were invalid, or the end of the text being validated otherwise).

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.

Available since: 2.0

#### 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 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