Punycode¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Эта возможность проблемна и может измениться. Полагаться на неё не следует. Её использование может приводить к ошибкам. Обратная совместимость не гарантируется.
Версия модуля punycode, входящего в состав Node.js, объявлена устаревающей. В одной из будущих основных версий Node.js этот модуль будет удалён. Пользователям, которые сейчас зависят от модуля punycode, следует перейти на пользовательский модуль Punycode.js. Для кодирования URL на основе Punycode см. url.domainToASCII или, в более общем случае, WHATWG URL API.
Модуль punycode — это встроенная версия модуля Punycode.js. Доступ к нему:
1 | |
Punycode — схема кодирования символов по RFC 3492, в первую очередь предназначенная для интернационализированных доменных имён. Поскольку имена хостов в URL ограничены символами ASCII, доменные имена с не-ASCII символами нужно преобразовать в ASCII с помощью Punycode. Например, японский иероглиф, соответствующий английскому слову 'example', — это '例'. Интернационализированное доменное имя '例.com' (эквивалент 'example.com') в Punycode представляется ASCII-строкой 'xn--fsq.com'.
Модуль punycode даёт простую реализацию стандарта Punycode.
Модуль punycode — сторонняя зависимость Node.js, доступная разработчикам для удобства. Исправления и изменения нужно направлять в проект Punycode.js.
punycode.decode(string)¶
string<string>
Метод punycode.decode() преобразует строку Punycode из символов ASCII в эквивалентную строку кодовых точек Unicode.
1 2 | |
punycode.encode(string)¶
string<string>
Метод punycode.encode() преобразует строку кодовых точек Unicode в строку Punycode из символов ASCII.
1 2 | |
punycode.toASCII(domain)¶
domain<string>
Метод punycode.toASCII() преобразует строку Unicode с интернационализированным доменным именем в Punycode. Преобразуются только не-ASCII части имени. Вызов punycode.toASCII() для строки, уже содержащей только ASCII, не меняет её.
1 2 3 4 | |
punycode.toUnicode(domain)¶
domain<string>
Метод punycode.toUnicode() преобразует строку доменного имени с закодированными в Punycode частями в Unicode. Преобразуются только части в Punycode.
1 2 3 4 | |
punycode.ucs2¶
punycode.ucs2.decode(string)¶
string<string>
Метод punycode.ucs2.decode() возвращает массив числовых значений кодовых точек каждого символа Unicode в строке.
1 2 3 | |
punycode.ucs2.encode(codePoints)¶
codePoints<integer[]>
Метод punycode.ucs2.encode() возвращает строку по массиву числовых кодовых точек.
1 2 | |
punycode.version¶
- Тип:
<string>
Возвращает строку с номером текущей версии Punycode.js.