Кодування
Punycode encode/decode
Кодування доменних імен з юнікод-символами (IDN) у ASCII-сумісний формат Punycode (xn--) і назад.
Часті запитання
Навіщо потрібен Punycode?
DNS підтримує лише ASCII-символи, тому доменні імена з юнікод-літерами (кирилицею, умлаутами тощо) перекодовують у ASCII-сумісний формат Punycode з префіксом xn--. Саме такий вигляд домен має "під капотом", хоча в адресному рядку браузер зазвичай показує оригінальні символи.
У чому небезпека IDN-доменів з юнікод-символами?
Різні алфавіти містять символи, які виглядають однаково (наприклад, кирилична "а" і латинська "a"), тому шахраї можуть зареєструвати домен-двійник для фішингу — це називають homograph-атакою. Розкодувавши Punycode, можна перевірити, з яких символів насправді складається домен.
Чи можна закодувати весь URL, а не лише домен?
Ні, Punycode застосовується лише до окремих міток доменного імені (частин між крапками), а не до шляху, параметрів запиту чи схеми URL. Для іншого тексту в URL використовують percent-encoding.