Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

перекодировка текста в 1С 8

перекодировка текста в 1С 8
Я
   novichok79
 
30.05.18 - 11:49
доброе время суток, уважаемые друзья. есть нетленочка с куртизанками и преферансом на базе БСП 2.4.2.124. в нетленочке запилен поиск контрашей (контрагентов) по сервису dadata.ru, но у dadata.ru 28-го мая какой-то трэш творился с обновлением базы данных сайта.
есть еще https://egrul.nalog.ru/
запилил получение капчи, значения с сайта возвращаются, но в непонятной кодировке, не utf-8. есть ли способ быстро перекодировать текст в 1С? через двоичныеданные, а потом получение потока для ЧтенияJSON получаются дважды закодированные символы.
в других нетленочках все делается так
MSScriptControl = Новый COMОбъект("MSScriptControl.ScriptControl");
MSScriptControl.Language = "javascript";
Стрим = Новый COMОбъект("ADODB.Stream");
Стрим.Open();
MSScriptControl.Eval("Стрим.Write(Соединение.responseBody)");

но, к счастью, у меня сервак на каком-то linux'е, 
там вот эта дичь отсутствует 
Стрим = Новый COMОбъект("ADODB.Stream");

что я делаю не так? есть ли аналоги в 1С. заранее благодарю за помощь.
 
 
   novichok79
 
1 - 30.05.18 - 12:06
опять же

Книга знаний: Перекодировщик из UTF-8 в Windows-1251 и обратно

но надо сделать это средствами платформы 8.3.11
   novichok79
 
2 - 30.05.18 - 12:13
возвращает такую строку в 1С

{"ERRORS":{"ogrninnfl":["Необходимо указать ОГРНИП или ИНН индивидуального предпринимателя"]}}

если переводим из ISO-8859-1 в utf-8 в онлайне
получается такое

{"ERRORS":{"ogrninnfl":["Необходимо указать ОГРНИП или ИНН индивидуального предпринимателя"]}}
   hhhh
 
3 - 30.05.18 - 12:18
(1) ссылка не читается
   novichok79
 
4 - 30.05.18 - 12:20
(3) движок мисты видимо ее конвертнул. но там тоже через adodb.stream сделано
   singlych
 
5 - 30.05.18 - 12:25
ммм, а если записать в txt а потом ЧтениеJSON.ОткрытьФайл(ИмяФайла, Кодировка)?
   novichok79
 
6 - 30.05.18 - 12:27
ну в интернетах предлагают делать через ЧтениеТекста
   mistеr
 
7 - 30.05.18 - 12:34
(2) То, что ты показал, очень похоже на UTF-8. Возможно, byte order не тот, что ожидает 1С.
   hhhh
 
8 - 30.05.18 - 12:39
(6) мне надо было только русские буквы, я сделал тупо

    Для ии = 1 По СтрДл Цикл
        КодСимв = КодСимвола(сред(Стр, ии, 1));
        Если КодСимв >= 192 И КодСимв <= 255 Тогда
    
             Рез2 = Рез2 + Символ(КодСимв + 848);
   novichok79
 
9 - 30.05.18 - 12:42
(7) уже неважно, через выгрузку результата HTTP запроса во временный файл все взлетело.
   mistеr
 
10 - 30.05.18 - 12:55
(9) Потому что в файл пишется BOM.
 
 Рекламное место пустует
   novichok79
 
11 - 30.05.18 - 12:56
(10) значит действительно верно предположение в (7)
   mistеr
 
12 - 30.05.18 - 12:57
Вообще идиотизм, конечно. До сих пор желто-красные не могут нормальные потоки и конвейер реализовать. В куче ситуаций приходится сохранять во временные файлы.
   novichok79
 
13 - 30.05.18 - 12:58
(12) это да, но по сравнению с 8.1 уже прогресс, что можно сделать почти все через типовые механизмы.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует