ASCII
Alphanumerisch
Bindestrich
Browser
Buchstabe
C (Programmiersprache)
Dekodierung
Deutsche Sprache
Domain
Domain Name System
Englische Sprache
Google Chrome
Internationalizing Domain Names in Applications
Internet Explorer
Kodierung
Konqueror
Mozilla Application Suite
Mozilla Firefox
Opera
Punycode
Safari (Browser)
SeaMonkey
Umlaut#Umlautbuchstaben
Umlautdomain
Unicode
Web
Website
Ziffer
Alphanumerisch
Bindestrich
Browser
Buchstabe
C (Programmiersprache)
Dekodierung
Deutsche Sprache
Domain
Domain Name System
Englische Sprache
Google Chrome
Internationalizing Domain Names in Applications
Internet Explorer
Kodierung
Konqueror
Mozilla Application Suite
Mozilla Firefox
Opera
Punycode
Safari (Browser)
SeaMonkey
Umlaut#Umlautbuchstaben
Umlautdomain
Unicode
Web
Website
Ziffer
Punycode ist ein im RFC 3492 standardisiertes Kodierungsverfahren zum Umwandeln von Unicode-Zeichenketten in sogenannte ACE-Zeichenketten, die nur noch aus alphanumerischen Zeichen bestehen, wie sie in Domains erlaubt sind. Punycode wurde entworfen, um Domainnamen aus Unicodezeichen eindeutig und umkehrbar durch ASCII-Zeichen darzustellen.
Inhaltsverzeichnis
1 Motivation
2 Regeln der Umwandlung
3 Browser mit Punycode-Unterstützung
4 Weblinks
Bearbeiten Motivation
Wichtigste Motivation 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 dem 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 Punycode-Verfahren eingeführt.
Soll ein Text an ein System übergeben werden, das nur ASCII beherrscht, so wird er zuvor per Punycode in ASCII umgesetzt. Zu beachten ist, dass sich in vielen Fällen der resultierende Text verlängert. Soll umgekehrt dieser Text aus dem ASCII-System entnommen werden, so wird er per Punycode in die ursprüngliche Form zurückübersetzt. Enthält ein Text keinerlei Sonderzeichen, so wird er durch dieses Verfahren nicht verändert.
Das Punycode-Konvertierungsverfahren wurde unter Wahrung folgender Gesichtspunkte festgelegt:
Vollständigkeit: Jeder Name kann umgesetzt werden
Eindeutigkeit: Jedem Namen ist genau eine Umsetzung zugeordnet
Reversibilität: Jeder umgesetzte Name kann zurückkonvertiert werden
Effizienz: Der umgesetzte Name ist nicht wesentlich länger als der Ausgangsname
Einfachheit: Das Verfahren ist relativ einfach zu implementieren
Lesbarkeit: Der umgesetzte Name bleibt im Wesentlichen lesbar, da die Zeichen a bis z nicht verändert werden
Bearbeiten Regeln der Umwandlung
Beispiele
Zeichenkette
Codierung
abcdef
abcdef
abæcdöef
abcdef-qua4k
schön
schn-7qa
ยจฆฟคฏข
22cdfh1b8fsa
☺
74h
Als Basiszeichen gelten im folgenden die Buchstaben a bis z und die Ziffern 0 bis 9 (Groß- und Kleinschreibung spielt keine Rolle). Zusammen mit dem Bindestrich „-“ als Trennzeichen stellen diese 37 Zeichen die einzig gültigen Zeichen in einem nach Punycode kodierten Text dar.
Enthält die zu konvertierende Zeichenkette
nur Basiszeichen, so wird sie nicht verändert.
sowohl Basiszeichen als auch Nicht-Basiszeichen, werden alle Basiszeichen unter Beibehaltung ihrer Reihenfolge aufgeführt und schließlich die kodierten Nicht-Basiszeichen durch einen Bindestrich getrennt angehängt.
nur Nicht-Basiszeichen, so ist das Umwandlungsergebnis nur deren Codefolge, ohne Trennzeichen
Um die resultierende Zeichenkette möglichst kompakt zu gestalten, werden die Sonderzeichen nicht „eins-zu-eins“, sondern nach dem Punycode-Verfahren kodiert. Die Nicht-Basiszeichen werden zuerst nach ihrem Zahlenwert sortiert. Die Differenz zwischen den Werten der einzelnen Zeichen wird mit der jeweiligen Position in der ursprünglichen Zeichenkette zur Bildung einer Zahl verwendet. Diese Zahl wird anschließend durch die 37 Basiszeichen dargestellt und an den kodierten Text angehängt. Die Details zu diesem Verfahren sind in RFC 3492 festgelegt, wo auch eine Referenzimplementierung in der Programmiersprache C für die Kodierung und die Dekodierung, sowie zahlreiche Beispiele enthalten sind.
Bei der Bildung von Domainnamen nach dem Internationalizing Domain Names in Applications-Standard (IDNA) wird bei Vorhandensein von Nicht-Basiszeichen ein „xn--“ Präfix vorangestellt, und andernfalls (nur Basiszeichen) kommt Punycode nicht zur Anwendung.
Bearbeiten Browser mit Punycode-Unterstützung
Da Punycode vor allem bei Umlautdomains für Websites auf Zustimmung stieß, wurde dessen Implementierung, obwohl im Prinzip keine Verbindung zum Web besteht, zunächst in Browsern durchgeführt. Browser mit Punycode-Unterstützung sind zum Beispiel:
Chrome
Firefox
Internet Explorer ab Version 7 (Version 5 und 6 nur mittels Zusatzmodulen von Drittanbietern)
Konqueror
Mozilla Application Suite
Opera
Safari
SeaMonkey ab Version 1.0
Bearbeiten Weblinks
RFC 3492 – Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)
Exemplarischer Punycode-Konverter
Domain Registration - web hosting and search engine registration
Domain Name Registration - register your domain name online,and get the name you want ... Our punycode aware bulk search tool makes it easy to search and register your list of ...
1 Vamos a la pgina de VeriSign e introducimos coneeyconacento para obtener la traduccin a Punycode 2 Que resulta ser xn coneeyconacento 1qb Pues bien esta traduccin literal es la que tendremos que utilizar para configurar la cuenta FTP y dar de alta
http://www.xn--coneeyconacento-1qb.net/conceptos.htm
punycode (punycode) on Twitter
punycode is using Twitter. Twitter is a free service that lets you keep in touch with people through the exchange of quick, frequent answers to ...
Punycode: Information from Answers.com
The Punycode is an ASCII representation of the Unicode characters and symbols. ... Punycode uses generalized variable-length integers to represent these values. ...
RFC 3492
Abstract Punycode is a simple and efficient transfer encoding syntax ... Punycode is an instance of a more general algorithm called Bootstring, which ...
Punycode Converter - encode/decode IDNs - bulk - PunyCoder.com
Online bulk conversion between IDNs/unicode and their respective punycode versions
Conversor - Punycode
También es muy práctico para gestionar dominios con caracteres IDN en las empresas de hosting que no los permiten, ya que si soportan la notación Punycode. ...
日本語JPドメイン名のPunycode変換・逆変換 - 日本語.jp
ここでは、日本語JPドメイン名のPunycode表記への変換
Punycode - Wikipedia, la enciclopedia libre
Punycode (código púny) es una sintaxis de codificación usada en programación que usa una ... Punycode está diseñado para trabajar con todos los archivo de órdenes, ...



