Difference between revisions of "IPConnection.HTTPPunycodeEncode"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:51, 7 February 2021
HTTPPunycodeEncode (Кодирование частей URL) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция выполняет кодирование произвольной строки в формат Punycode, используется для доменной части URL, если она содержит международные символы. Кодирование осуществляется в режиме URL или в режиме обычной строки. Допускается кодирование символов юникода с кодами >65535 (занимающих 4 байта, см. Строки). Функция может быть вызвана непосредственно из интерфейса. По своему действию функция совпадает с EncodeString с форматом кодирования Punycode (за исключением режима по умолчанию). К примеру москва.рф
кодируется в xn--80adxhks.xn--p1ai
. Размер строки для кодирования ограничен способом кодирования, при переполнении переменных кодировщика, будет возвращена пустая строка. Punycode может использоваться также для получения ссылки на так называемые эмодзи домены, т.е., доменные имена, в которых присутствуют картинки, типа смайликов и пр. К примеру, 💩.to
или 😎.com
после конвертации в Punycode будут превращены в xn--ls8h.to
и xn--s28h.com
соответственно.
Синтаксис
IPConnection.HTTPPunycodeEncode(<Строка для кодирования (STRING)>,<Режим кодирования (INT)>=1):<Результат кодирования (STRING)>
Аргументы
<Строка для кодирования (STRING)>
- Строка для кодирования (обычно доменное имя URL).<Режим кодирования (INT)>
- (необязательный аргумент) Аргумент задает режим кодирования. Возможны следующие значения:- 0 -- кодирование произвольных строк (игнорируется доменная структура строки
<домен1>.<домен2>...
, не добавляется префиксxn--
). К примеру,москва.рф
кодируется в.-7sbf5ajmsd6a
. - 1 (по умолчанию) -- кодирование доменных имен (каждое доменное имя из строки
<домен1>.<домен2>...
кодируется отдельно, добавляется префиксxn--
). К примеру,москва.рф
кодируется вxn--80adxhks.xn--p1ai
. Если доменное имя не содержит международных символов, оно не будет закодировано.
- 0 -- кодирование произвольных строк (игнорируется доменная структура строки
Возвращаемое значение
Возвращается строку-результат кодирования
Примеры
//Пример верного кодирования URL //Выводится строка: "xn--80adxhks.xn--p1ai" Message(IPConnection.HTTPPunycodeEncode("москва.рф")); //URL кодируется как строка, результат нельзя использовать для ссылки в Интернете //Выводится строка: ".-7sbf5ajmsd6a" Message(IPConnection.HTTPPunycodeEncode("москва.рф",0));