1@subheading gsasl_stringprep_nfkc 2@anchor{gsasl_stringprep_nfkc} 3@deftypefun {char *} {gsasl_stringprep_nfkc} (const char * @var{in}, ssize_t @var{len}) 4@var{in}: a UTF-8 encoded string. 5 6@var{len}: length of @code{str} , in bytes, or -1 if @code{str} is nul-terminated. 7 8Converts a string into canonical form, standardizing such issues as 9whether a character with an accent is represented as a base 10character and combining accent or as a single precomposed 11character. 12 13The normalization mode is NFKC (ALL COMPOSE). It standardizes 14differences that do not affect the text content, such as the 15above-mentioned accent representation. It standardizes the 16"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to 17the standard forms (in this case DIGIT THREE). Formatting 18information may be lost but for most text operations such 19characters should be considered the same. It returns a result with 20composed forms rather than a maximally decomposed form. 21 22Return value: Return a newly allocated string, that is the NFKC 23normalized form of @code{str} , or NULL on error. 24 25@strong{Deprecated:} No replacement functionality in GNU SASL, use GNU 26Libidn instead. Note that in SASL, you most likely want to use 27SASLprep and not bare NFKC, see @code{gsasl_saslprep()} . 28@end deftypefun 29 30