Punycode
Punycode je 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 domén.
Kódovací princip
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ů
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 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.
Související
URL kódování
IDN (Internationalized Domain Names)