Encodage

Punycode encode/decode

Encodage de noms de domaine contenant des caractères Unicode (IDN) au format ASCII compatible Punycode (xn--) et inversement.

The DNS system historically only supports ASCII characters, so domain names with Cyrillic, CJK, or other non-ASCII characters (IDN) are encoded as Punycode — an ASCII-compatible form prefixed with xn--. This tool encodes and decodes such domains.

How to use it

Common uses

Things to keep in mind

Visually similar characters from different scripts (like Cyrillic "а" and Latin "a") can form a domain that looks identical to a known brand — this is the basis of homograph phishing.

Not every browser shows decoded Unicode the same way: when a domain label mixes scripts, browsers often deliberately show the raw xn-- form as a warning sign.

Article sur cet outil: Punycode : comment les domaines internationalisés fonctionnent dans le DNS

Questions fréquentes

À quoi sert le Punycode ?

Le Punycode transforme un nom de domaine internationalisé (IDN) contenant des caractères Unicode, comme münchen.de, en une représentation ASCII compatible avec le DNS, préfixée par xn--. C'est ce que le navigateur résout réellement en coulisses.

Pourquoi le préfixe xn-- peut-il être un signal d'alerte ?

Des caractères Unicode visuellement identiques à des lettres latines (attaque homographe) peuvent servir à créer de faux domaines qui ressemblent à un site connu. Voir apparaître xn-- dans une URL est souvent le signe qu'il s'agit d'un domaine internationalisé, à vérifier avant de faire confiance au lien.

Mes données sont-elles envoyées sur un serveur ?

Non, la conversion Punycode s'effectue entièrement dans le navigateur. Aucun nom de domaine n'est transmis à un serveur.

Comment reconnaître qu'un lien utilise le Punycode ?

Un domaine encodé porte toujours le préfixe xn-- devant chaque étiquette contenant des caractères non-ASCII. Si vous voyez dans la barre d'adresse ou un e-mail un domaine qui commence par xn--, c'est le signe d'un IDN — mieux vaut vérifier quel texte se cache derrière l'encodage.

Tous les navigateurs affichent-ils le cyrillique de la même façon dans la barre d'adresse ?

Non. Certains navigateurs n'affichent l'Unicode décodé que si tous les caractères du domaine appartiennent au même alphabet, et en cas de mélange d'alphabets (signe d'une attaque homographe), ils affichent volontairement la forme brute xn-- au lieu des caractères d'origine.

Articles : Encodage

Base64 : à quoi sert l'encodage et comment il fonctionne

Comment Base64 transforme des données binaires en texte ASCII, et quand c'est réellement utile.

Base32 : en quoi il diffère de Base64 et quand il est plus pratique

L'alphabet de Base32, insensible à la casse, et les cas où il est plus pratique que Base64.

URL Encode/Decode : le percent-encoding dans les liens

Comment les caractères spéciaux d'une URL et de ses paramètres deviennent des séquences %XX.

HTML Entities : afficher des caractères spéciaux en toute sécurité

Pourquoi les caractères < > & doivent être échappés, et comment cela évite de casser le balisage.

JWT : structure du token et ce que signifie « décoder » un JWT

Le header, le payload et la signature d'un JWT, et pourquoi décoder n'est pas la même chose que vérifier la signature.

Unicode Escape : que signifient les séquences \uXXXX

D'où viennent les séquences du type \u0041 dans le JSON et les chaînes JS, et ce qu'elles signifient.

ROT13 et le chiffre de César : une simple substitution de caractères

Pourquoi un décalage de 13 lettres rend ROT13 auto-inverse, et pourquoi on l'utilise encore aujourd'hui.

Le morse : comment le texte devient des points et des traits

Le principe de l'encodage des lettres en points et traits, et où le morse est encore utilisé aujourd'hui.

Data URI : quand intégrer une image directement dans le code

Comment un Data URI intègre le contenu d'un fichier directement en HTML ou CSS, et quand cela en vaut la peine.

Gzip + Base64 : compresser des données pour les transmettre en texte

Pourquoi des données binaires compressées sont aussi encodées en Base64 avant d'être placées dans un champ texte.

XML Entities : échapper les caractères dans les documents XML

Les cinq entités XML obligatoires, sans lesquelles le document se casse à l'analyse.