Punycode
Punycode ist eine Kodierung, die Unicode-Zeichenketten (internationalisierte Domänennamen) in ASCII-kompatible Zeichenketten umwandelt; die Ausgabe erkennt man am Präfix xn--.
Zweck
Domänennamen in nicht-lateinischen Schriften über die reine ASCII-DNS-Infrastruktur auflösbar machen und dabei mit bestehenden Systemen kompatibel bleiben.
Mechanismus
ASCII-Codepunkte der Eingabe bleiben an Ort und Stelle; nicht-ASCII-Codepunkte werden per verallgemeinerter variabler Ganzzahlkodierung am Ende angehängt, wobei ein Trennzeichen und Einfügepositionen die Reihenfolge wiederherstellen. Die Ausgabe besteht nur aus ASCII-Kleinbuchstaben, Ziffern und Bindestrichen.
Anwendungsfälle
- Internationalisierte Domänennamen (z. B. eine japanische Domain, deren Labels zu xn--r8jz45g.xn--zckzah kodieren)
- IDN-Registrierung und -Auflösung
- Internationalisierte E-Mail-Adressen (SMTPUTF8-Fallback)
- Kompatibilitätsschicht für DNS-Software
Beispiele
- Eingabe
münchenOutputxn--mnchen-3yaEncoding a German city name
Häufige Fehler
- Skipping homograph attack checks for IDN names
- Use ICU to detect suspicious mixed scripts before rendering
Verwandte Begriffe
URL Encoding
Die URL-Kodierung (Percent-Encoding) wandelt in URLs unzulässige Zeichen in die Form %HH um, sodass beliebige Daten sicher in URL-Komponenten stehen können. GLOSSAR
Unicode
Unicode ist der internationale Zeichenkodierungsstandard, der fast jedem Zeichen der Schriftsysteme der Welt einen eindeutigen Codepunkt (U+0000 bis U+10FFFF) zuweist, mit einem Coderaum von 1.114.112 Punkten. GLOSSAR
DNS
DNS löst Domainnamen zu IP-Adressen auf, unterteilt in rekursive und autoritative Auflösung, und bildet das Fundament der Internet-Adressierung. GLOSSAR