Punycode

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 internalizovaných internetových domén, jako jsou háčkyčárky.cz, lepší.tv, nebo i❤️.ws.

Kódovací princip

[editovat | editovat zdroj]

V této sekci je popsán postup Punycode kódování – ukazuje názorně převod řetězce „počítač“ do kódované podoby „pota-wpa5qd“.

Oddělení ASCII znaků

[editovat | editovat zdroj]

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ů

[editovat | editovat zdroj]

Dále následuje kódování ostatních ne-ASCII znaků. Použitým algoritmem 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 znakem „-“, tedy „wpa5qd“, v sobě nese zakódovanou informaci o ne-ASCII znacích (č, í a č) a jejich původním umístění v řetězci na 3., 4., resp. 7. místě zleva.

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ánky

[editovat | editovat zdroj]

Externí odkazy

[editovat | editovat zdroj]