In questo articolo
Cos'e il Punycode?
Il Punycode e una sintassi di codifica definita nell'RFC 3492 che converte i caratteri Unicode in un set limitato di caratteri ASCII usato dal Domain Name System (DNS). Permette nomi di dominio internazionalizzati (IDN) — nomi di dominio con caratteri non-ASCII — di funzionare nell'infrastruttura DNS basata su ASCII.
Un dominio codificato in Punycode ha il prefisso xn-- (il prefisso ACE) per segnalare che contiene Unicode codificato. Un convertitore Punycode traduce tra la forma Unicode leggibile e la forma ASCII compatibile con il DNS.
Come funziona la codifica Punycode
Il Punycode usa un algoritmo bootstring per rappresentare i code point Unicode come una sequenza di caratteri ASCII di base.
- Separazione Unicode — il codificatore identifica quali caratteri sono ASCII di base e quali sono non-ASCII e necessitano codifica
- Codifica delta — i caratteri non-ASCII vengono codificati come delta numerici che rappresentano la loro posizione e code point
- Prefisso ACE — la stringa codificata finale riceve il prefisso xn-- per contrassegnarla come Punycode
Prova gratuitamente — nessuna registrazione richiesta
Converti Punycode →Quando usare il Punycode
La conversione Punycode e necessaria quando si lavora con nomi di dominio internazionalizzati in sistemi che supportano solo ASCII.
- Registrazione domini — i registrar richiedono la forma Punycode per registrare domini IDN
- Email con domini internazionali — gli indirizzi con domini non-ASCII devono essere convertiti nella forma xn-- per la consegna SMTP
- Configurazione DNS — i file di zona DNS usano la forma Punycode per qualsiasi etichetta di dominio con caratteri non-ASCII
Domande frequenti
Il Punycode e uguale alla codifica URL?
No. La codifica URL converte i caratteri in sequenze hex %XX per i percorsi URL. Il Punycode codifica specificamente le etichette di dominio Unicode in ASCII per il DNS. Risolvono problemi diversi.
Il Punycode puo essere usato per il phishing?
Si, questo e noto come attacco omografo IDN. Gli attaccanti registrano domini con caratteri Unicode identici alle lettere latine. I browser moderni mostrano la forma xn-- per i domini sospetti.
Tutti i browser supportano i nomi di dominio internazionalizzati?
Si. Tutti i browser moderni convertono automaticamente i domini IDN in Punycode per la risoluzione DNS e mostrano la forma Unicode nella barra degli indirizzi.