GLib.utf8_collate_key
Description: Reference for GLib.utf8_collate_key

### Function

# GLibutf8_collate_key

#### Declaration [src]

    gchar*
    g_utf8_collate_key (
      const gchar* str,
      gssize len
    )

#### Description [src]

Converts a string into a collation key that can be compared with other collation keys produced by the same function using strcmp().

The results of comparing the collation keys of two strings with `strcmp()` will always be the same as comparing the two original keys with g_utf8_collate().

Note that this function depends on the current locale.

Note that the returned string is not guaranteed to be in any encoding, especially UTF-8. The returned value is meant to be used only for comparisons.

#### Parameters

`str`

  Type: `const gchar*`

  A UTF-8 encoded string.

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

`len`

  Type: `gssize`

  Length of `str`, in bytes, or -1 if `str` is nul-terminated.

#### Return value

Type: `gchar*`

A newly allocated string. The contents of the string are only meant to be used when sorting. This string should be freed with `g_free()` when you are done with it.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The value is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.