PunycodePunycode 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í principV 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 (í, č, č) a jejich původním umístění v řetězci na pozicích 3, 2, resp. 6 (číslováno od nuly). 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“. Související článkyExterní odkazy |