Punycode

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání

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 „po--ta-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č“ → „po--ta-“).

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 „xn--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.

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]