Зачастую мы сталкиваемся с тем, что на страничку в get запросе кроме цифр требуется передать ещё и текст. Для этого текст должен быть преобразован в формат URL
Скачать файл
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Преобразование происходит в два этапа: сначала каждый символ кириллицы кодируется в Юникоде (UTF-8) в последовательность из двух байтов, а затем каждый байт этой последовательности записывается в шестнадцатеричном представлении:
М → D0 и 9C → %D0%9C и → D0 и B8 → %D0%B8 к → D0 и BA → %D0%BA р → D1 и 80 → %D1%80, и т. д.
Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.
Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?».
есть сом объект в котором это уже реализовано...
правда в текущем примере выполняется обратное преобразование
из url в win-1251
cks = Новый COMОбъект("Chilkat.String");
cks.AppendEncoded (Строка,"url","windows-1251");
Сообщить(cks.Str);
Возврат cks.Str;
"сообщение написано в 6-ть утра "
не забывай, пжлста, что 6 утра -это время по москве.
а сам я нахожусь в +7ч от москвы.
так что - все нормально со временем
Если уж пошла такая пьянка то так тоже можно:
Функция ПреобразованиеСтрокуВURL(Строка="")
ScrCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
ScrCtrl.Language="JScript";
Сообщение = ScrCtrl.eval("var uri='"+Строка+"'; encodeURI(uri);") ;
Возврат Сообщение;
КонецФункции
Функция ПреобразованиеURLВСтроку(Строка="")
ScrCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
ScrCtrl.Language="JScript";
Сообщение = ScrCtrl.eval("var uri='"+Строка+"'; decodeURI(uri);") ;
Возврат Сообщение;
КонецФункции
Спасибо ,помогло.
Как раз собрал для модуль для преобразования в код URL и обратно.
Было бы удобно ,если б в статье была не только процедура преобразования ,но и декодирования в код URL.
Указанное ниже значение
0105010459005216211A%BgFSXGF_qT
Должно преобразоваться в
0105010459005216211A%25BgFSXGF_qT
А преобразуется в
0105010459005216211A%25BgFSXGF%5FqT
Проверял тут
https://url-encode-online.rocks/urlencode.php