1с8.1: как кодировать URL-строку из кодировки Windows 1251?
☑
0
AntonU
06.09.13
✎
16:26
Приходит строка вида 18810%C0T40%C0%CF1003933Z2
Надо ее кодировать и получить 18810АT40АП1003933Z2.
Как это сделать?
1
KUBIK
06.09.13
✎
16:28
СтрЗаменить
2
le_
06.09.13
✎
16:29
3
AntonU
06.09.13
✎
16:29
(1) т.е. с помощью таблицы соответствий?
4
AntonU
06.09.13
✎
16:30
(2) - это нужно сделать средствами 1С
5
Широкий
06.09.13
✎
16:30
escape/unescape у javascript
6
le_
06.09.13
✎
16:31
7
AntonU
06.09.13
✎
16:39
(6) там обратное действие производится - на выходе получаю %31%38%38%31%30%25%43%30%54%34%30%25%43%30%25%43%46%31%30%30%33%39%33%33%5A%32
8
le_
06.09.13
✎
16:51
Пот такую штуку накидал:
Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.Language = "JScript";
strJsCode = "
|function decode(str){
| return unescape(str);
|}";
Скрипт.AddCode(strJsCode);
ПолеВвода2 = Скрипт.Run("decode", ПолеВвода1);
Только 1С-ка корёжит кодировку текста на выходе...
9
AntonU
06.09.13
✎
17:01
(8) - попробовал, возвращает undefined -(
10
le_
06.09.13
✎
17:02
(9) А у меня вот что возвращает:
11
AntonU
06.09.13
✎
17:05
(10) надо как-то указать кодировку - windows-1251
12
AntonU
06.09.13
✎
17:08
(10) - да, я ошибся, скрипт работает, остается разоббраться с кодировкой
13
le_
06.09.13
✎
17:42
(12) Может это поможет:
14
le_
06.09.13
✎
17:50
В 8.3 появились функции РаскодироватьСтроку() и КодироватьСтроку().
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой