Punycode

Punycode (wörtlich "Puny Code") ist eine in RFC  3492 definierte Codierungssyntax , die in Verbindung mit internationalisierten Domänennamen in unterstützenden Anwendungen verwendet werden soll.

Der RFC  3492- Algorithmus : Bootstring

Der RFC  3492 definiert einen Algorithmus namens Bootstring zur Darstellung einer Zeichenfolge, die aus einem erweiterten Zeichensatz stammt, der von einer Kette gezogen wurde, die einen grundlegenden Zeichensatz (häufig eine sehr kleine Teilmenge von ASCII) gezogen hat. Bootstring ist per Definition:

Punycode ist eine spezielle Anwendung des Bootstring- Algorithmus , der dem internationalisierten Domain-Namen gewidmet ist , bei dem der Basissatz stark reduziert ist (begrenzt auf nur 26 Buchstaben des lateinischen Basisalphabets ohne Unterscheidung der Groß- und Kleinschreibung sowie auf 10 Dezimalstellen und auf die einzige Minuszeichen). Es ermöglicht jedoch die Darstellung von Unicode-Text, obwohl Punycode im Allgemeinen zum Codieren von internationalisierten Labels in Domain-Namen verwendet wird, bei denen zusätzliche Einschränkungen (zusätzlich zu denen der Länge) angewendet werden (insbesondere das Filtern von zulässigen Zeichen und eine Transformation von bestimmte Zeichen oder bestimmte Sequenzen in eine standardisierte Form, bevor sie endgültig mit Punycode dargestellt werden ).

Von Unicode zu ASCII

Punycode wandelt eine Unicode-Zeichenfolge auf einzigartige und umkehrbare Weise in eine ASCII-Zeichenfolge um. ASCII-Zeichen in der Unicode-Zeichenfolge werden wörtlich dargestellt, und Nicht-ASCII-Zeichen werden durch ASCII-Zeichen dargestellt, wobei letztere alle in Hostnamenbezeichnungen (Buchstaben, Zahlen und Bindestriche) zulässig sind.

Zum Beispiel wird bücher mit Punycode zu bcher-kva . Als nächstes wird der Domain - Name wird durch dargestellt in IDNA (Standard ermöglicht die Verwendung von internationalisierten Zeichen in Anwendungen). bücher.chxn--bcher-kva.ch

In xn - bcher-kva ist der Punycode der Teil bcher-kva rechts neben dem Präfix, das einen internationalen Namen xn-- angibt . Die gesamte Kette ist ASCII-kompatible Codierung .

Software-Implementierungen

Siehe auch

Zum Thema passende Artikel

Externe Links


Literaturverzeichnis

Verweise

  1. (in) "  Punycode: Ein Bootstring Kodierung von Unicode für Internationalized Domain Names in Applications (IDNA)  " Antrag auf Kommentare n o  3492,März 2003.
  2. (in) "  Domain - Namen - KONZEPTE UND SERVICE  " Antrag auf Kommentare n o  1034,November 1987.
  3. IANA-E-Mail-Thread, in dem die Wahl des Präfixes erläutert wird