tools / punycode
punycode/
Перевод международных доменных имен в Punycode с префиксом xn-- и обратно. Один домен или URL на строку, можно вставить целый список.
Домен
Punycode
Частые вопросы
Что такое Punycode и почему международные домены начинаются с xn--
Система доменных имен (DNS) принимает только латинские буквы, цифры и дефисы. Punycode кодирует остальные символы, например кириллицу, иероглифы или буквы с диакритикой, с помощью этих знаков и добавляет префикс xn--: так пример.рф превращается в xn--e1afmkfd.xn--p1ai, 中文.com — в xn--fiq228c.com, а bücher.de — в xn--bcher-kva.de. В адресной строке отображается исходное написание, а DNS-запросы и обращения к сайту используют форму xn--.
Какую форму использовать в DNS-записях, Nginx и SSL-сертификате
В большинстве панелей управления и конфигурационных файлов нужна форма xn--: так указываются домены в DNS-записях, в server_name Nginx и в запросе на сертификат. Некоторые панели принимают исходные символы и преобразуют их сами. Если сомневаетесь, используйте форму xn--.
Можно ли вставить целый URL
Да, по одному на строку. Преобразуется только имя хоста, а схема, имя пользователя, порт, путь и параметры запроса остаются без изменений. Символы не из ASCII в пути и параметрах не преобразуются, потому что там используется процентное кодирование; для него есть инструмент «URL: кодирование и декодирование» на этом сайте.
Почему все буквы стали строчными и куда делись полноширинные символы
Доменные имена не зависят от регистра, поэтому сначала все приводится к строчным буквам. Полноширинные буквы и цифры заменяются обычными, а идеографическая точка 。 и полноширинная точка считаются разделителями. Поэтому ПРИМЕР。РФ и пример.рф дают один и тот же результат.
Что значит сообщение «превышает предел в 63 символа на метку»
DNS допускает не более 63 символов в метке (часть между двумя точками) и 253 символов во всем домене; длина считается по преобразованной форме xn--. Чем больше в метке разных символов не из ASCII, тем длиннее она становится, а домен, превышающий эти пределы, нельзя ни зарегистрировать, ни использовать.
Что делать, если при обратном преобразовании пишет «не является допустимым Punycode»
Это значит, что часть после xn-- не соответствует правилам кодирования: обычно при копировании потерялось несколько символов или попали пробел либо кавычка. Декодируются только метки, начинающиеся с xn--, остальные выводятся как есть, поэтому можно вставлять строки целиком; строки с ошибками перечислены ниже с номерами.
Результат отличается от другого инструмента: какому верить
Ориентируйтесь на браузер. Для распространенных китайских, японских, русских, греческих и немецких доменов результат совпадает с тем, что делает адресная строка браузера. Например, немецкая ß сохраняется и кодируется как xn--zca, а некоторые инструменты, работающие по старым правилам, заменяют ее на ss и получают другой домен.
Отправляются ли введенные домены на сервер
Нет. Все преобразования выполняются в браузере: введенный текст никуда не отправляется, а страница не проверяет, зарегистрирован ли домен.