### Function

# EDataServer util_split_data_uri

since: 3.60

#### Declaration [src]

    gboolean
    e_util_split_data_uri (
      const gchar* uri,
      gchar** out_mime_type,
      gchar** out_charset,
      gboolean* out_is_base64,
      const gchar** out_data_start
    )

#### Description [src]

Splits a “data:” URI (of form data:[mime type][;charset=charset][;base64][,]encoded-data) into respective components. The `out_data_start` points to the first byte inside the `uri`.

Available since: 3.60

#### Parameters

`uri`

  Type: `const gchar*`

  A “data:” URI.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`out_mime_type`

  Type: `gchar**`

  Location to store MIME type parameter, or `NULL` when not interested.

  The argument will be set by the function.
  The argument can be `NULL`.
  The caller of the function takes ownership of the returned data, and is responsible for freeing it.
  The value is a NUL terminated UTF-8 string.

`out_charset`

  Type: `gchar**`

  Location to store charset parameter, or `NULL` when not interested.

  The argument will be set by the function.
  The argument can be `NULL`.
  The caller of the function takes ownership of the returned data, and is responsible for freeing it.
  The value is a NUL terminated UTF-8 string.

`out_is_base64`

  Type: `gboolean*`

  Location to store whether the URI content is base64 encoded.

  The argument will be set by the function.

`out_data_start`

  Type: `const gchar**`

  Location to store the first byte in the `uri` where the actual data starts.

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

#### Return value

Type: `gboolean`

Whether could split the `uri`.