Punycode

Punycode (doslovně „puny code“) je syntaxe kódování definovaná v RFC  3492 a určená k použití ve spojení s mezinárodními názvy domén v podpůrných aplikacích.

Algoritmus RFC  3492: bootstring

V RFC  3492 definuje algoritmus volal Bootstring pro znázornění řetězec odebrán rozšířené znakové sady řetězem vytáhl základní sadu znaků (často velmi malá část ASCII). Bootstring je podle definice:

Punycode je konkrétní aplikace bootstringového algoritmu věnovaná internacionalizovanému názvu domény , kde je základní sada velmi omezená (omezena pouze na 26 písmen základní latinky bez rozlišení velkých písmen a na 10 desetinných míst a pouze znaménko minus). Umožňuje však reprezentovat jakýkoli text Unicode, ačkoli Punycode se obecně používá pro kódování internacionalizovaných štítků v doménových jménech, kde jsou aplikována další omezení (kromě omezení délky) (zejména je povoleno filtrování znaků a transformace určitých znaky nebo určité sekvence do standardizované podoby před jejich konečným znázorněním pomocí Punycode ).

Od Unicode po ASCII

Punycode transformuje řetězec Unicode na řetězec ASCII jedinečným a reverzibilním způsobem. Znaky ASCII v řetězci Unicode jsou reprezentovány doslovně a znaky jiné než ASCII jsou reprezentovány znaky ASCII, které jsou všechny povoleny v popiscích názvů hostitelů (písmena, číslice a spojovníky).

Například z bücheru se stane bcher-kva s Punycode . Dále je název domény bücher.ch reprezentován xn--bcher-kva.chv IDNA (standard umožňující použití internacionalizovaných znaků v aplikacích).

V xn - bcher-kva je punycode částí bcher-kva , napravo od předpony označující mezinárodní název xn-- . Celý řetězec je ASCII kompatibilní kódování .

Softwarové implementace

Podívejte se také

Související články

externí odkazy


Bibliografie

Reference

  1. (in) "  Punycode: od A Bootstring kódování Unicode pro mezinárodní doménová jména v aplikacích (IDNA)  " Žádost o připomínky n o  3492,Březen 2003.
  2. (in) "  DOMÉNOVÝCH JMEN - Pojmy a zařízeními  " Request for Comments n o  1034,Listopad 1987.
  3. E-mailové vlákno IANA vysvětlující volbu předpony