Punycode
From Wikipedia, the free encyclopedia
Remove ads
Punycode je v informatice název pro kódovací syntaxi, která umožňuje překlad řetězce znaků kódovaných prostřednictvím Unicode do jednoduché ASCII podoby, používané např. pro pojmenování síťových zařízení nebo internacionalizovaných internetových domén.
Kódovací princip
V této sekci je popsán postup Punycode kódování – částečně ukazuje převod řetězce „počítač“ do kódované podoby „pota-wpa5qd“.
Oddělení ASCII znaků
Nejprve jsou všechny základní (ASCII) znaky v řetězci odděleny od ostatních znaků (např. „počítač“ → „pota“). Pokud byl oddělen alespoň jeden ASCII znak přidá se na konec řetězce znak „-“ (např. „počítač“ → „pota-“).
Kódování ostatních znaků
Dále následuje kódování ostatních ne-ASCII znaků. Použitým algoritmem zahrnujícím tzv. bootstring (do číselných reprezentací v „base36“ (se symboly a … z, 0 … 9), ovšem s nejednotným „řádem“ – používají se tzv. generalized variable-length integers) se kóduje nejen samotný znak, ale i jeho původní pozice v Unicode tvaru. Například řetězec „počítač“ je převeden do podoby „pota-wpa5qd“. Právě text za (posledním) znakem „-“, tedy „wpa5qd“, v sobě nese zakódovanou informaci o ne-ASCII znacích (2× č, í) a jejich původním umístění v řetězci.
Pro použití v názvech domén IDN se ještě na začátek přidá konstantní „ACE prefix“ („xn--“). Zakódována doména např. „www.počítač.cz“ je tedy „www.xn--pota-wpa5qd.cz“.
Remove ads
Související články
Externí odkazy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads