Punycode

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledá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 internetových domén.

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]