Convertisseur Punycode (noms de domaine internationalisés)
Convertit les noms de domaine internationalisés (IDN) contenant des caractères non ASCII, comme le japonais, vers et depuis le Punycode (un encodage compatible ASCII).
Astuces d'utilisation
- Les noms de domaine composés de plusieurs étiquettes (parties séparées par `.`) sont eux aussi traités automatiquement étiquette par étiquette : celles qui ne contiennent que des caractères ASCII restent inchangées, et seules celles contenant des caractères non ASCII sont converties avec le préfixe `xn--`.
- En mode « Punycode → Nom de domaine », seules les étiquettes comportant le préfixe `xn--` sont décodées ; les autres sont conservées telles quelles.
- Cette même logique de conversion peut s'appliquer non seulement aux noms de domaine, mais aussi à la partie qui suit le `@` dans une adresse e-mail (la partie domaine).
- Lorsque l'on saisit réellement un nom de domaine internationalisé dans la barre d'adresse du navigateur, la plupart des navigateurs le convertissent en interne en Punycode avant d'effectuer la résolution DNS.
Questions fréquentes
Anecdote — les coulisses de la naissance des noms de domaine « chat » et « 日本語 »
Les discussions sur les noms de domaine internationalisés (IDN) ont débuté à la fin des années 1990, mais la normalisation a pris beaucoup de temps. Plusieurs approches ont été proposées pour gérer les caractères non ASCII sans modifier le cœur du DNS, et c'est finalement l'approche Punycode — encoder et décoder au niveau de la couche applicative (côté client), sans toucher au serveur DNS lui-même — qui a été retenue, normalisée sous le nom RFC 3492 en 2003.
Le nom « Punycode » viendrait d'une combinaison entre « Unicode » et « an amusing pun » (un jeu de mots amusant), et l'algorithme lui-même est une spécialisation, adaptée aux noms de domaine, d'une méthode d'encodage plus générale appelée Bootstring (une technique polyvalente conçue par des chercheurs d'IBM pour encoder un ensemble de caractères quelconque dans un ensemble restreint). Le fait que l'origine même du nom « Punycode » relève d'une plaisanterie en dit long sur l'humour propre à la communauté des développeurs.
Aujourd'hui, des noms de domaine utilisant des langues et symboles très variés — domaines japonais (`.jp`) ou même domaines en emojis (des exemples réels comme `💩.la` existent) — sont effectivement enregistrés et utilisés, mais ce processus de conversion Punycode a toujours lieu en coulisses. Même l'élégant domaine japonais affiché dans la barre d'adresse du navigateur est échangé avec le serveur DNS sous la forme d'une simple chaîne ASCII commençant par `xn--`.