ForHosting KIT · Outils pour développeurs

Normaliseur Unicode NFKD

file ① café devient file 1 café avec l'accent détaché : les ligatures s'ouvrent en lettres séparées, les chiffres cerclés deviennent des nombres simples et les lettres accentuées se scindent en base et signe, sans recomposition ensuite. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
file ① café
Vous obtenez
Résultat
file 1 café
Forme
NFKD
Longueur de l'entrée
10
Longueur du résultat
12

Le texte Unicode code souvent les mêmes caractères abstraits sous plusieurs formes : une ligature, une lettre précomposée accentuée, un chiffre cerclé ou une base plus des marques combinantes. Les moteurs de recherche, bases de données et filtres de sécurité ont besoin d'une forme stable pour que file et file coïncident, que café et café se comparent égaux après décomposition, et que ① ne masque pas un chiffre. La forme de normalisation Unicode KD (NFKD) applique la décomposition de compatibilité : elle développe les ligatures, efface les différences purement présentationnelles et sépare les séquences combinantes sans les recomposer. Cette capacité accepte toute chaîne, exécute l'algorithme NFKD standard et renvoie le résultat normalisé avec des statistiques de longueur et de points de code, plus un booléen indiquant si quelque chose a changé.

Ce que fait NFKD et en quoi il diffère de NFC, NFD et NFKC

La forme de normalisation Unicode KD, définie dans l'annexe 15 de la norme Unicode, est la décomposition de compatibilité. Contrairement à NFD, qui n'applique que des décompositions canoniques comme séparer un é précomposé en e plus accent aigu combinant, NFKD applique aussi des mappages de compatibilité qui suppriment des distinctions de formatage et de présentation non essentielles pour de nombreuses tâches de correspondance.

Les ligatures comme le caractère unique fi deviennent les lettres f et i ; la ligature double ff devient f f ; la triple ffi devient f f i. Chiffres cerclés, chiffres pleine chasse, exposants et caractères de compatibilité similaires s'étendent en équivalents simples. Les séquences combinantes canoniques restent en ordre décomposé, de sorte que café peut devenir cafe suivi d'un accent aigu combinant sur le e.

NFKD ne recompose volontairement pas : cette recomposition relève de NFKC. Choisissez NFKD lorsque vous voulez le dépliage maximal pour l'indexation, la comparaison floue ou le retrait des formes de présentation avant un autre traitement. Choisissez NFC lorsque vous préférez une forme composée compacte pour le stockage et l'affichage.

Ce point de terminaison renvoie toujours form NFKD pour que les clients n'aient pas à deviner l'algorithme. L'implémentation utilise la méthode native String normalize de l'hôte, conforme à UAX 15 et pleinement déterministe sur les moteurs JavaScript modernes.

Où la normalisation Unicode NFKD intervient dans le travail réel

Les systèmes de recherche et de catalogue normalisent titres de produits et libellés visibles pour que la typographie riche en ligatures des outils de design ne crée pas de clés en double : final et final se confondent après NFKD. Les ingénieurs de localisation comparent les chaînes utilisateur après décomposition de compatibilité pour traquer les homographes confus ou vérifier qu'une forme d'affichage n'est que du sucre de présentation sur des lettres simples.

Les pipelines de sécurité et d'identité appliquent souvent NFKD ou NFKC avant hachage ou égalité pour qu'orthographes Unicode alternatives du même nom abstrait ne contournent pas les listes d'autorisation. Les cours de programmation enseignent l'encodage en montrant qu'un caractère visible peut se mapper en plusieurs scalaires après décomposition ; une page dédiée à NFKD sert mieux cette intention de recherche qu'un enfouissement sous Base64 ou convertisseurs de points de code.

Les supports collent des symboles étranges issus de tickets et ont besoin d'une forme dépliée autoritaire pour la reproduction en ingénierie. Si vous avez besoin de listes U-plus de points de code, d'entités HTML ou de réparation mojibake UTF-8, traitez-les comme intentions et pages distinctes, sans surcharger cette page du normaliseur Unicode NFKD.

Pliage de clés pour recherche et catalogue

Normalisez titres et libellés de produits avec NFKD pour que ligatures et chiffres cerclés ne créent pas de clés d'index en double à côté de leurs équivalents en texte brut.

Comparaison d'identité et de sécurité

Décomposez par compatibilité noms d'utilisateur et jetons avant égalité ou hachage pour que les variantes de présentation ne contournent pas les filtres qui attendent des formes ASCII-friendly.

Qu'est-ce que Unicode NFKD ?

NFKD est la forme de normalisation KD de l'annexe 15 de la norme Unicode : décomposition de compatibilité complète. Elle déplie ligatures et caractères de compatibilité et sépare les marques combinantes, sans les recomposer.

En quoi NFKD diffère-t-il de NFKC ?

Les deux appliquent la décomposition de compatibilité. NFKC recompose ensuite si possible en caractères composés. Cet outil renvoie uniquement NFKD (forme décomposée, sans recomposition).

file devient-il file ?

Oui. La ligature fi U+FB01 est un caractère de compatibilité ; NFKD la mappe en f + i, donc file se normalise en file avec changed à true.

Que se passe-t-il en cas d'entrée invalide ?

Les échecs de validation ne sont pas facturés.

Quel est le coût ?

L'outil navigateur est gratuit et s'exécute en local.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/unicode-nfkd

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/unicode-nfkd \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"file ① café"}'
{
  "text": "file ① café"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.unicode_nfkd",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Une entrée invalide ou absente échoue avec invalid_input afin que les charges incorrectes n'inventent pas de texte. L'outil gratuit du navigateur et l'API payante partagent le même module pur, de sorte que démonstrations, pipelines de localisation et webhooks de production s'accordent toujours.

Contrat d'entrée, champs de réponse et comportement d'erreur

Les chaînes vides sont valides et renvoient un résultat NFKD vide avec changed à false. Les chaînes de plus de soixante-cinq mille cinq cent trente-six unités de code UTF-16 échouent pour qu'un collage incontrôlé n'épuise pas le worker. L'absence de text échoue immédiatement sans facturation. Envoyez un objet JSON avec un champ chaîne obligatoire nommé text. Les alias input, value, s et data sont acceptés lorsque text est absent, comme pour les outils d'encodage frères. Les nombres et booléens sont convertis en forme décimale ou en true ou false ; objets, tableaux, null, NaN et Infinity sont rejetés avec invalid_input en nommant le problème. En cas de succès le corps répète le text d'origine, fournit result comme chaîne normalisée NFKD, fixe form à la constante NFKD, met changed à true lorsque result diffère de text, indique input_length et result_length en unités UTF-16, indique input_code_points et result_code_points en scalaires Unicode pour ne pas mal compter les emoji ni les caractères hors BMP, et inclut une courte étiquette de norme pointant vers UAX 15. Exemple : le mot ligaturé file devient file avec changed true et un result_length plus grand car une unité est devenue quatre. Le prix des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.

Où la normalisation Unicode NFKD intervient dans le travail réel

Comme cette capacité est un moteur parse pur, le prix API est la base publiée de $0.002 par élément réussi et l'échec de validation ne consomme pas le solde.

Fixtures de localisation et d'enseignement

Générez des chaînes décomposées stables pour tests golden, couverture de glyphes et démonstrations en classe des mappages de compatibilité UAX #15.

Consulter la documentation complète du KIT →