Spec-Zone.ru › Node.js 24 LTS

Punycode

Устарело начиная с: v7.0.0
Стабильность: 0 — Устарело

Исходный код: lib/punycode.js

Встроенная в Node.js версия модуля punycode устарела. В одной из будущих основных версий Node.js этот модуль будет удалён. Пользователям, которые сейчас используют модуль punycode, следует перейти на предоставляемый сообществом модуль Punycode.js. Для кодирования URL на основе punycode см. url.domainToASCII или, в более общем случае, API WHATWG URL.

Модуль punycode — это встроенная версия модуля Punycode.js. К нему можно обратиться с помощью:

const punycode = require('node:punycode'); copy

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)

Добавлено в: v0.5.1
  • string <string>

Метод punycode.decode() преобразует строку Punycode, содержащую только символы ASCII, в эквивалентную строку кодовых точек Unicode.

punycode.decode('maana-pta'); // 'mañana'
punycode.decode('--dqo34k'); // '☃-⌘' copy

punycode.encode(string)

Добавлено в: v0.5.1
  • string <string>

Метод punycode.encode() преобразует строку кодовых точек Unicode в строку Punycode, содержащую только символы ASCII.

punycode.encode('mañana'); // 'maana-pta'
punycode.encode('☃-⌘'); // '--dqo34k' copy

punycode.toASCII(domain)

Добавлено в: v0.6.1
  • domain <string>

Метод punycode.toASCII() преобразует строку Unicode, представляющую интернационализированное доменное имя, в Punycode. Преобразуются только части доменного имени, не входящие в ASCII. Вызов punycode.toASCII() для строки, содержащей только символы ASCII, не даст никакого эффекта.

// encode domain names
punycode.toASCII('mañana.com');  // 'xn--maana-pta.com'
punycode.toASCII('☃-⌘.com');   // 'xn----dqo34k.com'
punycode.toASCII('example.com'); // 'example.com' copy

punycode.toUnicode(domain)

Добавлено в: v0.6.1
  • domain <string>

Метод punycode.toUnicode() преобразует строку, представляющую доменное имя с символами, закодированными в Punycode, в Unicode. Преобразуются только части доменного имени, закодированные в Punycode.

// decode domain names
punycode.toUnicode('xn--maana-pta.com'); // 'mañana.com'
punycode.toUnicode('xn----dqo34k.com');  // '☃-⌘.com'
punycode.toUnicode('example.com');       // 'example.com' copy

punycode.ucs2

Добавлено в: v0.7.0

punycode.ucs2.decode(string)

Добавлено в: v0.7.0
  • string <string>

Метод punycode.ucs2.decode() возвращает массив, содержащий числовые значения кодовых точек каждого символа Unicode в строке.

punycode.ucs2.decode('abc'); // [0x61, 0x62, 0x63]
// surrogate pair for U+1D306 tetragram for centre:
punycode.ucs2.decode('\uD834\uDF06'); // [0x1D306] copy

punycode.ucs2.encode(codePoints)

Добавлено в: v0.7.0
  • codePoints <integer[]>

Метод punycode.ucs2.encode() возвращает строку на основе массива числовых значений кодовых точек.

punycode.ucs2.encode([0x61, 0x62, 0x63]); // 'abc'
punycode.ucs2.encode([0x1D306]); // '\uD834\uDF06' copy

punycode.version

Добавлено в: v0.6.1
  • Тип: <string>

Возвращает строку с номером текущей версии Punycode.js.

© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v24.x/docs/api/punycode.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API