gsasl_stringprep_nfkc(3) API function


#include <gsasl.h>

char * gsasl_stringprep_nfkc(const char * in, ssize_t len);


const char * in
a UTF-8 encoded string.
ssize_t len
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 character.

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, or 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().


Report bugs to <[email protected]>. GNU SASL home page: General help using GNU software:


Copyright © 2002-2012 Simon Josefsson.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.