Имя: Пароль:
1C
1С v8
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) А у меня вот что возвращает: http://i020.radikal.ru/1309/38/dc1921ec7037.png
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) Может это поможет: http://pihpi.ru/escape-i-unescape-russkie-bukvy
14 le_
 
06.09.13
17:50
В 8.3 появились функции РаскодироватьСтроку() и КодироватьСтроку().
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn