Punycode

Punycode (vyslov [ˈpjuːniˌkəʊd] ) je standardizovaná metoda pro převod sekvencí znaků Unicode do tzv. ACE sekvencí ( angl.  ASCII Compatible Encoding  - ASCII compatible encoding [1] ), které se skládají pouze z alfanumerických znaků, jako je povoleno v doméně jména.

Punycode byl navržen tak, aby jednoznačně převáděl názvy domén na sekvenci znaků ASCII . Používá většina prohlížečů [2] . Existují také speciální programy nebo služby zvané konvertory Punycode , které umožňují kódovat / dekódovat sekvenci znaků Unicode v ACE a naopak.

Důvody pro použití

Nejdůležitějším důvodem pro zavedení Punycode byl fakt, že v normou schváleném systému doménových jmen je povoleno pouze 26 znaků latinské abecedy, čísla od 0 do 9 a pomlčka . Pro angličtinu a některé další jazyky založené na latinské abecedě to stačí, ale jiné jazyky mohou obsahovat další znaky, například ä, önebo ü.

Pravidla převodu

Základními znaky jsou znaky latinské abecedy a - z (bez rozlišení velkých a malých písmen), číslice od 0 do 9 a pomlčka "-"; pouze 37 znaků. Transformační algoritmus se skládá ze dvou fází. V první fázi jsou všechny znaky obsažené v hlavním ASCII kódování (kódy 0-127) vybrány ze zdrojového textu a přeneseny v řadě do zakódovaného slova. Pokud se poté v textu vyskytnou znaky jiné než ASCII, přidá se ke kódovanému slovu pomlčka a převod se řídí postupem popsaným v RFC 3492 [3] .

Příklady
Posloupnost znaků Kódování
a B c d e f a B c d e f
abecdöef abcdef-qua4k
schon schn-7qa
ยจฆฟคฏข 22cdfh1b8fsa
74h
pravda 80aafi6cg

Viz také

Poznámky

  1. Paul Hoffman. RACE : Řádkové ASCII kompatibilní kódování pro IDN  . tools.ietf.org (16. října 2000). Získáno 13. března 2020. Archivováno z originálu dne 21. června 2020.
  2. Výsledky testování práce prohlížečů s doménou .РФ provedené REG.RU (nepřístupný odkaz) . REG.RU (30. června 2010). Datum přístupu: 30. září 2010. Archivováno z originálu 22. srpna 2010. 
  3. Adam M. Costello. Punycode: Zaváděcí řetězec kódování Unicode pro internacionalizovaná doménová jména v aplikacích (IDNA  ) . tools.ietf.org (březen 2003). Získáno 13. března 2020. Archivováno z originálu dne 10. srpna 2020.

Odkazy