char * gsasl_stringprep_nfkc(const char * in, ssize_t len);
const char * in
a UTF-8 encoded string.
length of str, in bytes, or -1 if str is nul-terminated.
Converts a string into canonical form, standardizing such issues as
whether a character with an accent is represented as a base
character and combining accent or as a single precomposed
The normalization mode is NFKC (ALL COMPOSE). It standardizes
differences that do not affect the text content, such as the
above-mentioned accent representation. It standardizes the
"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
the standard forms (in this case DIGIT THREE). Formatting
information may be lost but for most text operations such
characters should be considered the same. It returns a result with
composed forms rather than a maximally decomposed form.
Return a newly allocated string, that is the NFKC
normalized form of str, o NULL on error.
No replacement functionality in GNU SASL, use GNU
Libidn instead. Note that in SASL, you most likely want to use
SASLprep and not bare NFKC, see gsasl_saslprep().