Codifica

Punycode encode/decode

Codifica di nomi di dominio con caratteri Unicode (IDN) nel formato ASCII compatibile Punycode (xn--) e viceversa.

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.

Articolo su questo strumento: Punycode: come funzionano i domini internazionalizzati nel DNS

Domande frequenti

A cosa serve Punycode?

Punycode codifica nomi di dominio internazionalizzati con caratteri non ASCII (come münchen.de) in una forma compatibile ASCII con prefisso xn--, poiché il sistema DNS supporta solo etichette ASCII.

Perché dovrei fare attenzione ai domini Punycode?

Punycode consente attacchi omografi, in cui caratteri simili di altri alfabeti vengono usati per registrare domini visivamente identici a uno affidabile. Se un dominio mostra il prefisso xn--, decodificalo qui per vedere cosa significa davvero.

Funziona solo con nomi di dominio completi?

Puoi codificare o decodificare una singola etichetta o un dominio completo con punti — ogni etichetta tra i punti viene convertita indipendentemente, con il prefisso xn-- aggiunto solo alle etichette che contengono davvero caratteri non ASCII.

Come riconoscere che un link usa Punycode?

Un dominio codificato ha sempre il prefisso xn-- prima di ogni etichetta che contiene caratteri non ASCII. Se nella barra degli indirizzi o in un'email vedi un dominio che inizia con xn--, è un segnale di IDN — vale la pena verificare quale testo si nasconde dietro la codifica.

Tutti i browser mostrano il cirillico nella barra degli indirizzi allo stesso modo?

No. Alcuni browser mostrano l'Unicode decodificato solo se tutti i caratteri del dominio appartengono allo stesso alfabeto, mentre in caso di mescolanza di alfabeti (segnale di attacco omografo) mostrano deliberatamente la forma xn-- grezza invece dei caratteri originali.

Articoli: Codifica

Base64: a cosa serve la codifica e come funziona

Come Base64 trasforma dati binari in testo ASCII e quando serve davvero.

Base32: come si differenzia da Base64 e quando è più comodo

L'alfabeto di Base32, insensibile a maiuscole/minuscole, e i casi in cui è più comodo di Base64.

URL Encode/Decode: il percent-encoding nei link

Come i caratteri speciali negli indirizzi e nei parametri diventano sequenze %XX.

HTML Entities: come mostrare caratteri speciali in sicurezza

Perché i caratteri < > & vanno escapati e come questo evita di rompere il markup.

JWT: struttura del token e cosa significa "decodificare" un JWT

Header, payload e signature di un JWT, e perché decodificare non equivale a verificare la firma.

Unicode Escape: cosa significano le sequenze \uXXXX

Da dove vengono sequenze come \u0041 in JSON e nelle stringhe JS, e cosa significano.

ROT13 e il cifrario di Cesare: semplice sostituzione di caratteri

Perché uno scorrimento di 13 lettere rende ROT13 auto-inverso, e perché si usa ancora oggi.

Il codice Morse: come il testo diventa punti e linee

Il principio di codifica delle lettere in punti e linee, e dove si usa ancora oggi il Morse.

Data URI: quando incorporare immagini direttamente nel codice

Come un Data URI incorpora il contenuto di un file direttamente in HTML o CSS, e quando conviene.

Gzip + Base64: comprimere dati per trasmetterli come testo

Perché i dati binari compressi vengono anche codificati in Base64 prima di finire in un campo di testo.

XML Entities: escapare i caratteri nei documenti XML

Le cinque entity XML obbligatorie senza le quali il documento si rompe durante il parsing.