Qu'est-ce que la normalisation Unicode ?

Unicode définit plusieurs façons de représenter le même caractère visible. Par exemple, le caractère « é » peut être stocké sous la forme d'un point de code précomposé unique (U+00E9) ou sous la forme de la lettre « e » suivie d'un accent aigu combiné (U+0065 U+0301). Les deux s'affichent de manière identique mais sont différents octet par octet, ce qui cause des problèmes pour la comparaison de chaînes, la recherche et le traitement de texte.

La normalisation Unicode est le processus de conversion du texte en une représentation canonique afin que les chaînes équivalentes deviennent identiques. La norme Unicode définit quatre formes de normalisation :

  • NFC (Décomposition canonique, suivie de composition canonique) : Forme précomposée ; la plus compacte, largement utilisée sur le web et dans la plupart des systèmes d'exploitation.
  • NFD (Décomposition canonique) : Forme entièrement décomposée ; chaque caractère est divisé en lettre de base plus marques combinées.
  • NFKC (Décomposition de compatibilité, suivie de composition canonique) : Comme NFC mais replie également les caractères de compatibilité (par exemple, ligatures, exposants, variantes pleine largeur) dans leurs équivalents canoniques.
  • NFKD (Décomposition de compatibilité) : Comme NFD mais applique également la décomposition de compatibilité.

Description de l'outil

Cet outil normalise le texte Unicode d'une forme de normalisation à une autre. Sélectionnez les formes source et cible, collez votre texte, et la sortie convertie s'affiche instantanément.

Fonctionnalités

  • Les quatre formes de normalisation : Supporte NFC, NFD, NFKC et NFKD comme source et cible.
  • Conversion bidirectionnelle : Basculez librement entre n'importe quelle combinaison de formes.
  • Sortie en temps réel : Le texte est normalisé instantanément au fur et à mesure que vous tapez ou collez.
  • Gère n'importe quel script Unicode : Fonctionne avec le latin, le CJK, l'arabe, le cyrillique et tout autre texte encodé en Unicode.

Comment ça marche

L'outil applique la méthode standard JavaScript String.prototype.normalize() avec la forme cible sélectionnée. Il s'agit d'une implémentation entièrement conforme à la spécification de la normalisation Unicode telle que définie dans la norme Unicode Annex #15.

Cas d'usage

  • Corrections de comparaison de chaînes : Normalisez le texte avant de le comparer ou de l'indexer pour vous assurer que les chaînes visuellement identiques correspondent correctement.
  • Cohérence de la recherche et de la base de données : Standardisez l'entrée utilisateur en une seule forme (généralement NFC) avant de la stocker dans une base de données pour éviter les doublons qui ne diffèrent que par l'encodage.
  • Repliement de compatibilité : Utilisez NFKC pour réduire les ligatures, les exposants et les caractères pleine largeur à leurs équivalents standard pour l'indexation de recherche ou le traitement du langage naturel.