En détail
Unicode permet d'écrire é comme un caractère précomposé (U+00E9) ou comme e suivi d'un accent combinant (U+0301). Il existe quatre formes de normalisation : NFC compose quand c'est possible, NFD décompose tout, et NFKC et NFKD remplacent aussi les caractères de compatibilité (la ligature fi devient fi, l'exposant ² devient 2). NFC est le choix habituel pour stocker et échanger du texte.
Pourquoi c'est important
Sans normalisation, deux chaînes d'apparence identique peuvent avoir des longueurs différentes et échouer aux tests d'égalité, casser des recherches en base de données et produire des noms d'utilisateur ou de fichier en double ; les formes de compatibilité servent aussi dans les contrôles de sécurité contre les caractères sosies. Le normaliseur Unicode convertit entre les formes et liste les points de code.
Exemple
é précomposé a une longueur de 1 ; sa forme NFD, e + U+0301, a une longueur de 2. Après NFC, les deux sont l'unique caractère U+00E9 et se comparent comme égaux.