Punycode

Punycode (pronunțat [ˈpjuːniˌkəʊd] ) este o metodă standardizată de conversie a secvențelor de caractere Unicode în așa-numitele secvențe ACE ( eng.  ASCII Compatible Encoding  - ASCII compatible encoding [1] ), care constau numai din caractere alfanumerice, așa cum este permis în domeniu nume.

Punycode a fost conceput pentru a converti fără ambiguitate numele de domenii într-o secvență de caractere ASCII . Folosit de majoritatea browserelor [2] . Există, de asemenea, programe sau servicii speciale numite convertoare Punycode care vă permit să codificați/decodați o secvență de caractere Unicode în ACE și invers.

Motive pentru utilizare

Cel mai important motiv pentru introducerea Punycode a fost faptul că doar 26 de caractere din alfabetul latin, numere de la 0 la 9 și o cratimă sunt permise în sistemul de nume de domenii aprobat de standard. Pentru engleză și alte limbi bazate pe alfabetul latin, acest lucru este suficient, dar alte limbi pot conține caractere suplimentare, cum ar fi , sau . äöü

Reguli de conversie

Caracterele de bază sunt caracterele alfabetului latin a - z (fără distincție între litere mari și mici), numerele de la 0 la 9 și o cratimă „-”; doar 37 de caractere. Algoritmul de transformare constă din două etape. În prima etapă, toate caracterele incluse în codificarea ASCII principală (codurile 0-127) sunt selectate din textul sursă și transferate într-un rând în cuvântul codificat. După aceea, dacă în text sunt întâlnite caractere non-ASCII, se adaugă o cratimă la cuvântul codificat, iar apoi conversia urmează procedura descrisă în RFC 3492 [3] .

Exemple
Secvența de caractere Codificare
abcdef abcdef
abecdöef abcdef-qua4k
schon schn-7qa
ยจฆฟคฏข 22cdfh1b8fsa
74h
adevăr 80aafi6cg

Vezi și

Note

  1. Paul Hoffman. RACE : Codificare compatibilă ASCII pe rânduri pentru IDN  . tools.ietf.org (16 octombrie 2000). Preluat la 13 martie 2020. Arhivat din original la 21 iunie 2020.
  2. Rezultatele testării muncii browserelor cu domeniul .РФ efectuate de REG.RU (link inaccesibil) . REG.RU (30 iunie 2010). Data accesului: 30 septembrie 2010. Arhivat din original la 22 august 2010. 
  3. Adam M. Costello. Punycode: O codificare Bootstring a Unicode pentru nume de domeniu internaționalizate în aplicații (IDNA  ) . tools.ietf.org (martie 2003). Preluat la 13 martie 2020. Arhivat din original la 10 august 2020.

Link -uri