Zum Inhalt springen
uencoder

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ünchen
    Output
    xn--mnchen-3ya

    Encoding 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

Verwandte Tools

References