Convertisseur IDN Punycode

Convertissez facilement un IDN en Punycode et inversement.

5 sur 2 évaluations
Convertisseur IDN Punycode

Le Convertisseur IDN Punycode est un outil gratuit qui convertit les noms de domaine internationalisés en Punycode ASCII et reconvertit le Punycode en texte Unicode lisible.

Qu'est-ce que le Punycode et à quoi sert-il ?

Le Punycode intervient dans la conversion IDNA des U-labels Unicode en A-labels ASCII. Il permet aux noms contenant des lettres comme ü, é ou 漢 de fonctionner dans des systèmes conçus à l'origine pour les lettres latines de base, les chiffres et les traits d'union.

Un A-label IDNA commence par xn--. Ce préfixe indique aux applications compatibles avec IDNA que les caractères suivants constituent la représentation Punycode d'un U-label. Les points restent des séparateurs, chaque partie du domaine est donc convertie séparément.

Le Punycode est utilisé dans le cadre de l'internationalisation des noms de domaine dans les applications, généralement abrégée IDNA. IDNA gère également la validation et le traitement des caractères, tandis que le Punycode fournit la représentation ASCII d'un label Unicode admissible.

Le Punycode est un encodage, pas un chiffrement. N'importe qui peut reconvertir la forme ASCII en Unicode. Il n'offre donc aucune confidentialité et ne doit jamais servir à dissimuler des informations.

Schéma : du texte passe par l'outil Convertisseur IDN Punycode dans les deux sens

Comment convertir un nom de domaine internationalisé ?

Saisis du texte Unicode dans Convertir en Punycode/ASCII, ou des A-labels ASCII dans Convertir en IDN/Texte. Le résultat correspondant s'affiche dans Punycode/ASCII ou IDN/Texte.

  1. Copie uniquement le nom de domaine ou le label à convertir, sans les guillemets qui pourraient l'entourer.
  2. Utilise Convertir en Punycode/ASCII pour un texte Unicode contenant des caractères accentués ou non latins.
  3. Utilise Convertir en IDN/Texte pour les A-labels ASCII.
  4. Vérifie chaque label converti avant de l'ajouter au DNS, aux paramètres de messagerie ou à la configuration d'une application.
L'outil Convertisseur IDN Punycode sur digily.link, avec son formulaire de saisie

Le convertisseur utilise les fonctions PHP idn_to_ascii et idn_to_utf8. Le traitement s'effectue sur le serveur. Ta saisie est transmise au serveur via HTTPS et n'est pas stockée.

Exemples de conversion de domaines

Une conversion simple montre le lien entre le nom affiché et sa forme compatible avec le DNS.

Entrée münchen.de

Sortie xn--mnchen-3ya.de

En reconvertissant le résultat dans l'autre sens, on obtient münchen.de. Le label de, composé uniquement de caractères ASCII, n'a pas besoin d'être converti, tandis que le label contenant ü devient un label xn--.

La saisie doit être un nom de domaine valide. Le format sous-jacent traite les cas courants de la façon suivante :

  • Lettres accentuées et non latines : les labels Unicode admissibles sont représentés en ASCII au moyen d'IDNA et du Punycode.
  • Points : chaque point sépare des labels. Un domaine peut donc combiner des labels ASCII ordinaires et des labels encodés.
  • Chiffres et traits d'union ordinaires : ils appartiennent déjà au jeu ASCII et restent généralement lisibles, sous réserve des règles de syntaxe des noms de domaine.
  • Espaces : les espaces ne sont pas autorisés dans les labels d'hôte DNS ordinaires. Supprime tout espace ajouté par erreur au lieu d'attendre du Punycode qu'il le conserve comme partie du domaine.
  • Ponctuation : le point sépare les labels, mais les caractères appartenant au chemin, au port ou à la chaîne de requête d'une URL ne font pas partie du nom d'hôte.
  • Saisie vide ou très longue : une valeur vide ne contient aucun domaine à convertir. Le DNS limite également chaque label encodé à 63 octets. Un label Unicode visuellement court peut donc devenir trop long après conversion.
Exemple de résultat produit par l'outil Convertisseur IDN Punycode

Pourquoi la conversion Punycode échoue-t-elle ou produit-elle un texte inattendu ?

La conversion échoue généralement parce que la saisie n'est pas un texte IDN valide, contient un A-label mal formé ou a d'abord été soumise à un autre encodage. Lors d'une conversion en IDN/Texte, une saisie ASCII ordinaire qui n'est pas un A-label peut simplement rester inchangée. Avant de modifier les caractères manuellement, vérifie si la source contient des U-labels Unicode, des A-labels ASCII ou un nom d'hôte encodé pour une URL.

  • A-labels mal formés ou mauvais encodage : un label xn-- mal formé peut faire échouer la conversion. Le Base64, le texte hexadécimal et les URL encodées avec des séquences de pourcentage ne sont pas du Punycode.
  • Caractères non pris en charge : le Punycode peut représenter des valeurs Unicode, mais les règles IDNA et les registres de noms de domaine peuvent refuser certains caractères, certaines combinaisons ou certains systèmes d'écriture.
  • Label trop long : le DNS limite chaque label encodé à 63 octets. Un label Unicode peut donc devenir trop long après conversion.
  • Saisie partielle : copier des crochets, un numéro de port ou une partie d'un attribut HTML avec le nom d'hôte peut rendre la valeur non valide.
  • Saisie doublement encodée : si des caractères d'un domaine Punycode ont été encodés explicitement ou de façon non canonique avec des séquences de pourcentage, ils peuvent apparaître sous cette forme. Décode d'abord cette couche d'URL avec un Décodeur d'URL, puis convertis le domaine obtenu.
  • Données binaires au lieu de texte : la conversion IDN fonctionne avec du texte Unicode représentant un nom de domaine. Des octets de fichier arbitraires peuvent échouer à la validation ou produire des caractères dépourvus de sens s'ils sont traités comme du texte.

Où rencontre-t-on le Punycode ?

Tu rencontreras principalement le Punycode dans les noms de domaine, les enregistrements DNS, le traitement des adresses par les navigateurs et les systèmes qui stockent les noms d'hôte en ASCII. Selon ses règles de sécurité et les caractères concernés, un navigateur peut afficher le nom internationalisé lisible ou conserver la forme xn--.

Dans une adresse e-mail, le Punycode peut être utilisé pour le domaine situé après le signe @. Il n'encode pas le nom de la boîte aux lettres placé avant le signe @. Les données JSON et les chaînes de requête peuvent contenir du Punycode lorsqu'elles transportent un nom d'hôte, mais leur syntaxe n'impose pas le Punycode pour le texte en général.

Les URI de données utilisent normalement l'encodage par pourcentage ou le Base64 pour leur contenu. Le Punycode n'y apparaît que si le texte contenu comprend un nom d'hôte internationalisé. De même, utilise un Encodeur d'URL pour les valeurs d'un chemin ou d'une requête, et le Punycode pour le nom d'hôte lui-même.

Questions fréquentes

Puis-je coller une URL complète dans un convertisseur IDN ?

Il est plus sûr d'en extraire le nom d'hôte et de ne convertir que cette partie. Le schéma, le port, le chemin, le fragment et la requête obéissent à des règles de syntaxe distinctes. Les caractères présents dans ces sections peuvent nécessiter un encodage d'URL plutôt que du Punycode.

Un label xn-- signifie-t-il que le site n'est pas sûr ?

Non. De nombreux domaines internationalisés légitimes utilisent des labels xn--. Toutefois, des caractères visuellement similaires issus de différents systèmes d'écriture peuvent servir à créer des noms trompeurs. Vérifie donc l'orthographe décodée et l'organisme attendu avant de saisir un mot de passe ou des informations de paiement.

Peut-on utiliser des emoji dans un domaine Punycode ?

Les emoji sont interdits dans les labels de domaine IDNA, même si l'algorithme Punycode peut encoder leurs points de code. Les politiques des registres de noms de domaine peuvent imposer des restrictions supplémentaires sur les systèmes d'écriture et les symboles autorisés.

Pourquoi mon navigateur affiche-t-il du Punycode au lieu de l'Unicode ?

Les navigateurs peuvent conserver la forme ASCII lorsqu'un label mélange plusieurs systèmes d'écriture, contient des caractères associés à l'usurpation ou ne respecte pas leur politique d'affichage. Il s'agit d'une mesure de protection visuelle, pas d'une preuve que la conversion est incorrecte.

Un nom converti fonctionnera-t-il forcément dans le DNS ?

Non. Une conversion réussie ne prouve pas que le domaine est enregistré, disponible ou autorisé par le registre concerné. Avant d'utiliser le résultat, vérifie la longueur du label, contrôle l'orthographe lisible et confirme que le registre accepte les caractères utilisés.

Outils populaires