Punycode ist ein im RFC 3492 standardisiertes Kodierungsverfahren zum Umwandeln von Unicode-Zeichenketten in ASCII-kompatible Zeichenketten, die aus den Zeichen a bis z, 0 bis 9 und dem Bindestrich (-) bestehen. Punycode wurde entworfen, um internationalisierte Domainnamen aus Unicode-Zeichen eindeutig und umkehrbar durch ASCII-Zeichen darzustellen.
Grund der Einführung
Der wichtigste Grund für die Einführung von Punycode war die Tatsache, dass in dem etablierten Domain Name System nur Namen zugelassen sind, die aus den 26 lateinischen Buchstaben, den Ziffern 0 bis 9, sowie einem Bindestrich-Minus („Tastatur-Bindestrich“) bestehen. Für die englische Sprache war dies ausreichend, doch die meisten anderen Sprachen enthalten weitere Zeichen – die deutsche Sprache beispielsweise die Umlautbuchstaben ä, ö und ü sowie das ß. Um beliebige Texte aus derartigen Sprachen verarbeiten zu können, wurde 2003 das Verfahren Internationalizing Domain Names in Applications…