---
name: "gsasl_stringprep_nfkc"
section: "3"
platform: "linux"
package: "libgsasl-dev"
version: "1.10.0-4+deb11u1"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/gsasl_stringprep_nfkc"
---

# gsasl\_stringprep\_nfkc(3)

API function

## NAME

gsasl\_stringprep\_nfkc - API function

## SYNOPSIS

**#include \<gsasl.h\>**

**char \* gsasl\_stringprep\_nfkc(const char \*** *in***, ssize\_t** *len***);**

## ARGUMENTS

- const char \* in

  a UTF-8 encoded string.

- ssize\_t len

  length of  *str* , in bytes, or -1 if  *str* is nul-terminated.

## DESCRIPTION

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 value: Return a newly allocated string, that is the NFKC normalized form of  *str* , or NULL on error.

## DEPRECATED

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()**.

## REPORTING BUGS

Report bugs to \<bug-gsasl@gnu.org\>.\
 General guidelines for reporting bugs: http://www.gnu.org/gethelp/\
 GNU SASL home page: http://www.gnu.org/software/gsasl/

## COPYRIGHT

Copyright © 2002-2021 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.

## SEE ALSO

The full documentation for **gsasl** is maintained as a Texinfo manual.  If the **info** and **gsasl** programs are properly installed at your site, the command

-

  **info gsasl**

should give you access to the complete manual. As an alternative you may obtain the manual from:

-

  **http://www.gnu.org/software/gsasl/manual/**
