Punycode

Punycode (uttalas [ˈpjuːniˌkəʊd] ) är en standardiserad metod för att omvandla sekvenser av Unicode -tecken till så kallade ACE-sekvenser ( eng.  ASCII Compatible Encoding  - ASCII compatible encoding [1] ), som endast består av alfanumeriska tecken, som detta tillåts i domänen namn.

Punycode designades för att entydigt konvertera domännamn till en sekvens av ASCII - tecken. Används av de flesta webbläsare [2] . Det finns även speciella program eller tjänster som kallas Punycode-omvandlare som låter dig koda/avkoda en sekvens av Unicode-tecken i ACE och vice versa.

Skäl till att använda

Det viktigaste skälet till införandet av Punycode var det faktum att endast 26 tecken i det latinska alfabetet, siffror från 0 till 9 och ett bindestreck är tillåtna i domännamnssystemet som godkänts av standarden. För engelska och vissa andra språk baserade på det latinska alfabetet räcker detta, men andra språk kan innehålla ytterligare tecken, som , eller . äöü

Konverteringsregler

Grundtecknen är tecknen i det latinska alfabetet a - z (utan skillnad mellan stora och små bokstäver), siffror från 0 till 9 och ett bindestreck "-"; endast 37 tecken. Transformationsalgoritmen består av två steg. I det första steget väljs alla tecken som ingår i ASCII -huvudkodningen (koderna 0-127) från källtexten och överförs i rad till det kodade ordet. Efter det, om icke-ASCII-tecken påträffas i texten, läggs ett bindestreck till det kodade ordet, och sedan följer konverteringen proceduren som beskrivs i RFC 3492 [3] .

Exempel
Karaktärssekvens Kodning
abcdef abcdef
abecdöef abcdef-qua4k
schon schn-7qa
ยจฆฟคฏข 22cdfh1b8fsa
74h
sanning 80aafi6cg

Se även

Anteckningar

  1. Paul Hoffman. RACE : Radbaserad ASCII-kompatibel kodning för IDN  . tools.ietf.org (16 oktober 2000). Hämtad 13 mars 2020. Arkiverad från originalet 21 juni 2020.
  2. Resultaten av att testa webbläsares arbete med .РФ-domänen utförd av REG.RU (otillgänglig länk) . REG.RU (30 juni 2010). Datum för åtkomst: 30 september 2010. Arkiverad från originalet den 22 augusti 2010. 
  3. Adam M. Costello. Punycode: En startsträngskodning av Unicode för Internationalized Domain Names in Applications (IDNA  ) . tools.ietf.org (mars 2003). Hämtad 13 mars 2020. Arkiverad från originalet 10 augusti 2020.

Länkar