Difference between revisions of "IPConnection.HTTPPunycodeDecode"

From SunFlurry wiki
Jump to: navigation, search
(Created page with "{{infobox function |name=HTTPPunycodeDecode |object=Объект IP |caption=Кодирование частей URL |type=1 |status=2 |db=0 |exception=Невозможн...")
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:51, 7 February 2021

  HTTPPunycodeDecode (Кодирование частей URL)
Объект:Объект IP
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число
Визуальность:Нет

Функция выполняет декодирование произвольной строки, закодированной в формат Punycode, используется для доменной части URL, если она содержит международные символы. Декодирование осуществляется в режиме URL или в режиме обычной строки. Корректно декодируются символы юникода с кодами >65535 (занимающие 4 байта, см. Строки). Функция может быть вызвана непосредственно из интерфейса. По своему действию функция совпадает с DecodeString с форматом декодирования Punycode (за исключением режима по умолчанию). К примеру xn--80adxhks.xn--p1ai декодируется в москва.рф. Если в кодированной строке содержалась ошибка формата, функция возвратит пустую строку. Punycode может использоваться также для получения ссылки на так называемые эмодзи домены, т.е., доменные имена, в которых присутствуют картинки, типа смайликов и пр. К примеру, 💩.to или 😎.com после конвертации в Punycode будут превращены в xn--ls8h.to и xn--s28h.com соответственно.

Синтаксис

IPConnection.HTTPPunycodeDecode(<Строка для декодирования (STRING)>,<Режим декодирования (INT)>=1):<Результат декодирования (STRING)>

Аргументы

  • <Строка для декодирования (STRING)> - Строка для декодирования.
  • <Режим декодирования (INT)> - (необязательный аргумент) Аргумент задает режим декодирования. Возможны следующие значения:
    • 0 -- декодирование произвольных строк (игнорируется доменная структура строки <домен1>.<домен2>..., не учитывается префикс xn--). К примеру, .-7sbf5ajmsd6a декодируется в москва.рф.
    • 1 (по умолчанию) -- декодирование доменных имен (каждое доменное имя из строки <домен1>.<домен2>... кодируется отдельно, добавляется префикс xn--). К примеру, xn--80adxhks.xn--p1ai декодируется в москва.рф.

Возвращаемое значение

Возвращается строку-результат декодирования

Примеры

//Пример декодирования URL
//Выводится строка: "москва.рф"
Message(IPConnection.HTTPPunycodeDecode("xn--80adxhks.xn--p1ai"));

//Пример декодирования свободной строки
//Выводится строка: "москва.рф"
Message(IPConnection.HTTPPunycodeDecode(".-7sbf5ajmsd6a",0));