Кодировка IDN (Punycode)

Домены с кириллицей: пример.рф ↔ xn--e1afmkfd.xn--p1ai

Имя домена

Нашли ошибку или хотите предложить улучшение?

Улучшить калькулятор «Кодировка IDN (Punycode)»

Теория

Punycode позволяет записывать домены с нелатинскими буквами (кириллицей, арабским, иероглифами) в системе DNS, которая исторически понимает только ASCII. Кириллический домен «пример.рф» превращается в «xn--e1afmkfd.xn--p1ai» с префиксом \(xn--\).

Браузеры показывают человеку кириллический вид, а в DNS-запросы уходит punycode. Обратное преобразование восстанавливает исходные символы по алгоритму с кодовыми точками Unicode.

Важно: похожие по виду домены в punycode различаются (латинская «а» и кириллическая «а» — разные коды) — на этом строятся фишинговые атаки с омографами.

Пример с решением

  1. Условие. Как выглядит домен «пример.рф» в punycode?
  2. Формула. Каждая нелатинская часть кодируется с префиксом \(xn--\).
  3. Подстановка. «пример» → «xn--e1afmkfd», «рф» → «xn--p1ai».
  4. Вычисление. Части соединяются точкой.
  5. Ответ. «xn--e1afmkfd.xn--p1ai». Калькулятор с доменом пример.рф покажет эту запись; обратный режим вернёт кириллический вид.

Главное

  • IDN-домены хранятся в DNS как punycode.
  • Префикс каждой части — \(xn--\).
  • Омографы — основа фишинга на похожих доменах.