En detalle
Unicode permite escribir é como un carácter precompuesto (U+00E9) o como e seguida de un acento combinante (U+0301). Hay cuatro formas de normalización: NFC compone cuando es posible, NFD descompone todo, y NFKC y NFKD además sustituyen los caracteres de compatibilidad (la ligadura fi pasa a fi, el superíndice ² pasa a 2). NFC es la elección habitual para guardar e intercambiar texto.
Por qué importa
Sin normalización, dos cadenas de aspecto idéntico pueden tener longitudes distintas y fallar en las comprobaciones de igualdad, romper búsquedas en bases de datos y producir nombres de usuario o de archivo duplicados; las formas de compatibilidad se usan además en comprobaciones de seguridad contra caracteres parecidos. Normalizador Unicode convierte entre las formas y enumera los puntos de código.
Ejemplo
é precompuesta tiene longitud 1; su forma NFD, e + U+0301, tiene longitud 2. Tras NFC ambas son el único carácter U+00E9 y se comparan como iguales.