Skip to main content
CheckTown
Конвертеры

Punycode Converter: Internationalized Domain Names

Опубликовано 5 мин чтения
В этой статье

Что такое Punycode?

Punycode — это синтаксис кодирования, определенный в RFC 3492, который преобразует символы Unicode в ограниченный набор ASCII-символов, используемый системой доменных имен (DNS). Он позволяет интернационализированным доменным именам (IDN) — доменным именам с не-ASCII символами — работать в ASCII-инфраструктуре DNS.

Домен, закодированный в Punycode, имеет префикс xn-- (префикс ACE), сигнализирующий о наличии закодированного Unicode. Конвертер Punycode переводит между человекочитаемой формой Unicode и DNS-совместимой формой ASCII.

Как работает кодирование Punycode

Punycode использует алгоритм bootstring для представления кодовых точек Unicode как последовательности базовых ASCII-символов.

  • Разделение Unicode — кодер определяет, какие символы являются базовыми ASCII (передаются без изменений), а какие являются не-ASCII (требуют кодирования)
  • Дельта-кодирование — не-ASCII символы кодируются как числовые дельты, представляющие их позицию и кодовую точку
  • Префикс ACE — итоговая закодированная строка получает префикс xn-- для обозначения как Punycode

Попробуйте бесплатно — без регистрации

Конвертировать Punycode →

Когда использовать Punycode

Конвертация Punycode необходима при работе с интернационализированными доменными именами в системах, поддерживающих только ASCII.

  • Регистрация домена — регистраторы требуют форму Punycode для регистрации IDN-доменов
  • Электронная почта с международными доменами — адреса с не-ASCII доменами должны быть конвертированы в форму xn-- для доставки SMTP
  • Конфигурация DNS — файлы зон DNS используют форму Punycode для любой метки домена с не-ASCII символами

Часто задаваемые вопросы

Punycode — это то же самое, что URL-кодирование?

Нет. URL-кодирование преобразует символы в последовательности %XX для URL-путей. Punycode специально кодирует метки доменов Unicode в ASCII для DNS. Они решают разные задачи.

Можно ли использовать Punycode для фишинга?

Да, это известно как атака IDN-омографов. Злоумышленники регистрируют домены с Unicode-символами, идентичными латинским буквам. Современные браузеры показывают форму xn-- для подозрительных доменов.

Все ли браузеры поддерживают интернационализированные доменные имена?

Да. Все современные браузеры автоматически конвертируют IDN-домены в Punycode для DNS-резолюции и отображают форму Unicode в адресной строке.

Похожие инструменты