Имя: Пароль:
1C
1С v8
Чем раскодировать ответ сервиса?
0 totparen
 
09.04.18
08:01
Подскажите чем/как раскодировать строку вида "\u0410\u0431\u0430\u043a\u0430\u043d" ?
1 Звездец
 
09.04.18
08:03
ну ты сначала расскажи чем она закодирована, а потом и раскодировка найдется
2 mehfk
 
09.04.18
08:07
(0) Раскодировщик = Новый Раскодировщик;
РАскодированнаяСтрока = Раскодировщик.РаскодироватьСтроку("\u0410\u0431\u0430\u043a\u0430\u043d");
3 totparen
 
09.04.18
08:10
(2) ха-ха. Не верю.
4 totparen
 
09.04.18
08:11
5 spectre1978
 
09.04.18
08:15
(0) по-моему, обычные коды юникод (UTF-16 low endian, надо полагать). Т.е. задача сводится к тому чтобы забрать 4 символа после \u, преобразовать их из 16-ричной в десятичную систему и скормить функции Симв (). По-моему, так.
6 spectre1978
 
09.04.18
08:16
из 16 в 10-ричную функция 1Совская тут где-то тут в книге знаний лежала готовая
7 totparen
 
09.04.18
08:17
Думал что-то типа

РаскодироватьСтроку("\u0410\u0431\u0430\u043a\u0430\u043d", СпособКодированияСтроки.КодировкаURL)

Но, оно не для этого.
8 spectre1978
 
09.04.18
08:18
не, руками надо написать. Сложного ничо нет, но таки надо сделать
9 ПегийЛунь
 
09.04.18
08:19
10 Sserj
 
09.04.18
08:20
Кажись что-то в таком роде должно быть
строчкаТекста = "\u0410\u0431\u0430\u043a\u0430\u043d";
ТекстUTF = Новый ТекстовыйДокумент;        
ТекстUTF.УстановитьТипФайла(КодировкаТекста.UTF16);
ТекстUTF8.УстановитьТекст(строчкаТекста);
новаяСтрочка = ТекстUTF8.ПолучитьТекст();
11 spectre1978
 
09.04.18
08:22
(9) можно и так. Но там жестко закодирован очень ограниченный набор символов, и если в строке попадется что-то отличное от них, то выйдет бяка.
12 Cyberhawk
 
09.04.18
08:22
ЧтениеЖСОН отлично подходит (если в используемой платформе оно, конечно, есть)
13 totparen
 
09.04.18
08:48
(9)

Не сторонник парсить одинэсом. Не для этого оно. Наверное проще через COM скриптом воспользоваться.
14 totparen
 
09.04.18
08:50
(12) ПРоверю.
15 Сияющий в темноте
 
09.04.18
08:53
Так это же и есть кодирование строки с unicode символами в json,и что тут раскодировать?
16 totparen
 
09.04.18
08:54
(12) (15)

Мерси товарищи. Точняк, тупо жсоном читается.

    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(лСтрока);
    Пока ЧтениеJSON.Прочитать() Цикл
        Попытка
            Сообщить("Параметр " + ЧтениеJSON.ТекущееЗначение);
        Исключение            
        КонецПопытки    
    КонецЦикла;
Программист всегда исправляет последнюю ошибку.