Punycode


Punycode

Punycode (littéralement « code chétif ») est une syntaxe de codage définie dans la RFC 3492 et conçue pour être utilisée en adéquation avec les noms de domaines internationalisés dans les applications les supportant (cf RFC 3490).

Sommaire

L'algorithme de la RFC 3492 : Bootstring

La RFC 3492 définit un algorithme appelé Bootstring qui permet de représenter une chaîne de caractères tirée d'un jeu de caractères étendu au moyen d’une chaîne tirée d’un ensemble de base de caractères (un sous-ensemble souvent très réduit d’ASCII). Bootstring est par définition :

  • complet : chaque chaîne étendue peut être représentée par une chaîne de base ;
  • unique : il y a au plus une chaîne de base qui représente une chaîne étendue donnée ;
  • réversible : toute chaîne étendue transformée peut être retrouvée à partir de sa forme de base ;
  • efficace : le rapport de longueur entre la chaîne étendue et la chaîne de base est petit (ceci est important en raison de la limitation du nombre de caractères dans les noms de domaines, 63, définie dans la RFC 1034) ;
  • simple : l’algorithme de codage et de décodage est simple à mettre en œuvre. Les buts de simplicité et d'efficacité se contredisent ; Bootstring concilie les deux ;
  • lisible : les chaînes de base doivent apparaître sous la même forme dans la chaîne étendue et dans la chaîne de base (cela pour des raisons d'efficacité également).

Punycode est une application spéciale de l’algorithme Bootstring, dédiée au nom de domaine internationalisé, où le jeu de base est très réduit (limité aux seules 26 lettres de l’alphabet latin de base, sans distinction de casse, et aux 10 chiffres décimaux et au seul signe moins). Il permet toutefois de représenter n’importe quel texte Unicode, même si Punycode est généralement utilisé pour le codage des labels internationalisés dans les noms de domaines, où des restrictions supplémentaires (en plus de celle de la longueur) sont appliquées (notamment un filtrage des caractères autorisés, et une transformation de certains caractères ou certaines séquences dans une forme normalisée, avant leur représentation finale avec Punycode).

D'Unicode à ASCII

Punycode transforme une chaîne Unicode en une chaîne ASCII de manière unique et réversible. Les caractères ASCII dans la chaîne Unicode sont représentés littéralement, et les caractères non-ASCII sont représentés par des caractères ASCII, ces derniers étant tous autorisés dans les labels de nom d'hôte (lettres, chiffres et traits d'union).

Par exemple, bücher devient bcher-kva avec Punycode. De suite, le nom de domaine bücher.ch est représenté par xn--bcher-kva.ch en IDNA (le standard permettant d'utiliser des caractères internationalisés dans les applications).

Implémentations logicielles

Voir aussi

Articles connexes

Liens externes


Bibliographie



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Punycode de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Punycode — Saltar a navegación, búsqueda Punycode (código púny) es una sintaxis de codificación usada en programación que usa una cadena Unicode que puede ser traducida en una cadena de caracteres más limitada compatible con los nombres de red. La sintáxis… …   Wikipedia Español

  • 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… …   Deutsch Wikipedia

  • Punycode — is a computer programming encoding syntax by which a Unicode string of characters can be translated into the more limited character set permitted in network host names. The encoding syntax is published on the Internet in Request for Comments .… …   Wikipedia

  • Punycode — Punycode (произносится как «пуникод» или «пьюникод»)  стандартизированный метод преобразования последовательностей Unicode символов в так называемые ACE последовательности, которые состоят только из алфавитно цифровых символов, как это… …   Википедия

  • Punycode — noun A mapping from Unicode to the simpler ASCII character set, intended for the representation of international domain names where Unicode is not available …   Wiktionary

  • Punycode — ● np. m. ►NORM►CHAR Syntaxe de codage de caractères Unicode en caractères ASCII (et réciproquement), défini par la RFC 3492, dans le cadre de l utilisation des IDNA …   Dictionnaire d'informatique francophone

  • Internationalized domain name — An internationalized domain name (IDN) is an Internet domain name that contains one or more non ASCII characters. Such domain names could contain letters with diacritics, as required by many non English languages, or characters from non Latin… …   Wikipedia

  • ASCII Compatible Encoding — Die Artikel Punycode und Internationalizing Domain Names in Applications überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen.… …   Deutsch Wikipedia

  • IDNA — Die Artikel Punycode und Internationalizing Domain Names in Applications überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen.… …   Deutsch Wikipedia

  • Internationalized Domain Name — Die Artikel Punycode und Internationalizing Domain Names in Applications überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen.… …   Deutsch Wikipedia