Difference between revisions of "IPConnection.HTTPURLEncode"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:51, 7 February 2021
HTTPURLEncode (Кодирование частей URL) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция выполняет кодирование произвольной строки в URL-формат, в строке-результате остаются только символы, которые можно использовать в URL. При кодировании международных символов, строка из формата UTF-16 обычно сначала переводится в формат UTF-8, однако, кодирование в UTF-16 разрешено. Функция может быть вызвана непосредственно из интерфейса. По своему действию функция совпадает с EncodeString с форматом кодирования Percent-encoding. Важное замечание: обычно URL кодирование осуществляется не для имени сервера, а для добавочного пути после имени сервера (т.е. для https://ru.wikipedia.org/wiki/Информация
кодируется только Информация, что дает результат https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F
). Функция кодирует любые символы с кодами >127, а также <33 и следующие символы: "!", "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "/", ":", ";", "=", "?", "@", "[", "]", в режимах 0 или 1 (см. аргументы) также кодирует дополнительно ".", "-", "<", ">", "~", "^", "`", "\", "{", "}", "|", "_" и Chr(127).
Синтаксис
IPConnection.HTTPURLEncode(<Строка для кодирования (STRING)>,<Режим кодирования (INT)>=0):<Результат кодирования (STRING)>
Аргументы
<Строка для кодирования (STRING)>
- Строка для кодирования (обычно дополнительный путь URL).<Режим кодирования (INT)>
- (необязательный аргумент) Аргумент задает режим кодирования. Возможны следующие значения:- 0 (по умолчанию) -- Кодировать также дополнительные символы (".", "-", "<", ">", "~", "^", "`", "\", "{", "}", "|", "_" и Chr(127))
- 1 -- Кодировать также дополнительные символы, кодировать пробел как "+"
- 2 -- Кодировать только основные символы
- 3 -- Кодировать только основные символы, кодировать пробел как "+"
Возвращаемое значение
Возвращается строку-результат кодирования
Примеры
//Пример неверного кодирования URL //Выводится строка: "https%3A%2F%2Fru%2Ewikipedia%2Eorg%2Fwiki%2F%C8%ED%F4%EE%F0%EC%E0%F6%E8%FF" Message(IPConnection.HTTPURLEncode("https://ru.wikipedia.org/wiki/Информация")); //Пример верного кодирования URL //Выводится строка: "https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F" Message("https://ru.wikipedia.org/wiki/"+IPConnection.HTTPURLEncode(UnicodeToUTF8("Информация")));