0
alexei366
14.11.12
✎
09:55
|
Народ необходимо экранировать спецсимволы в Post и Get запросах, велосипед как-то не хочеться придумывать, а в нете как-то толком не нашёл. Мож есть у кого наработки, прошу поделиться.
|
|
1
alexei366
14.11.12
✎
09:58
|
А все нашел такое.
Функция ПреобразоватьПараметрЗапроса(ТекСтрока) Экспорт
Перем ъ, Символ, Рез;
Рез = "";
Длина = СтрДлина(ТекСтрока);
Для ъ = 1 По Длина Цикл
Символ = КодСимвола(Сред(ТекСтрока, ъ, 1));
Если Символ = 32 Тогда
Рез = Рез + "+";
ИначеЕсли ((Символ < 48) ИЛИ (Символ > 126)) ИЛИ ((Символ >= 58) И (Символ <= 64)) Тогда
Рез = Рез + "%" + Hex(Символ);
Иначе
Рез = Рез + Символ(Символ)
КонецЕсли;
КонецЦикла;
Возврат Рез;
КонецФункции
|
|
2
alexei366
14.11.12
✎
09:59
|
И туда же
Функция Hex(ТекЧисло)
СпецСимволы = "~`!@#$%^&*()[]_+-=""№;:?\/<>.,";
ТекЧисло = ТекЧисло - ?(Найти(СпецСимволы, Символ(ТекЧисло))>0, 0, 848);
Число1 = ТекЧисло%16;
Стр1 = ?(Число1 < 9,Строка(Число1),Символ(КодСимвола("A")+Число1-10));
Число2 = Цел(ТекЧисло/16);
Стр2 = ?(Число2 < 9,Строка(Число2),Символ(КодСимвола("A")+Число2-10));
Возврат Стр2+Стр1;
КонецФункции
|
|