Имя: Пароль:
1C
 
Как преобразовать хранилище значений в двоичные данные?
0 fisher
 
20.05.21
17:54
Без создания файлов на диске?
Хочу в http сервисе ответ в json архивировать. Думал явно зазиповать - но мобильное приложение вроде в архивы не умеет.
Остается использовать фишку хранилища значений со сжатием. Но как его красиво передать?
Создание файла видится неким костылем. Но если иначе никак, то других вариантов не вижу...
1 fisher
 
20.05.21
17:56
О! Можно же сериализовать в XML и как строку передавать.
2 fisher
 
20.05.21
18:07
Раз в 7 пожало. С учетом Base64 вроде норм. Но если есть альтернативы - буду рад узнать.
Хвосты одинэсной сериализации в ответе все же режут глаз :)
3 H A D G E H O G s
 
20.05.21
18:09
Записьzip может жать в потоквпамяти
4 Fragster
 
гуру
20.05.21
18:09
включить сжатие веб сервером
5 Fragster
 
гуру
20.05.21
18:09
на лету
6 H A D G E H O G s
 
20.05.21
18:10
(4) ты у себя включишь, а кто то не включит. А потом переустановят и забудут включить.
7 Fragster
 
гуру
20.05.21
18:11
вот например на мисте без всяких ухищрений в 4 раза жмет, совершенно прозрачно: https://i.imgur.com/8XxKlU6.png
8 Fragster
 
гуру
20.05.21
18:11
(6) ну пусть страдают
9 Fragster
 
гуру
20.05.21
18:11
вообще, вроде, почти везде по дефолту включено
10 fisher
 
20.05.21
18:42
(3) В мобильном приложении непонятно как разархивировать
11 pechkin
 
20.05.21
18:46
(7) он привык работать во враждебной среде.
Когда админ 1снику волк
12 fisher
 
20.05.21
18:47
(4) А как убедиться что в МП прилетает пожатое?
13 pechkin
 
20.05.21
18:48
(12) никак это же прозрачно для клиента все
14 fisher
 
20.05.21
18:50
(13) Я в некотором смысле атеист
15 pechkin
 
20.05.21
18:51
(14) ну можешь сниффер роставить6 и посмотреть
16 fisher
 
20.05.21
19:01
На уровне пакетов? А как уровень сжатия оценить? Если бы я мог убедиться, что жмёт не хуже - тогда имело бы смысл.
17 H A D G E H O G s
 
20.05.21
19:12
(11) Нет, это просто подход к тиражным решениям.
18 fisher
 
20.05.21
19:13
А так пока что мне проще один раз прописать в одном месте пару строк и получить железные гарантии.
19 Волшебник
 
20.05.21
23:18
(7) Эти ухищрения называются gzip
20 Волшебник
 
20.05.21
23:23
https://habr.com/ru/post/221849/
https://ru.wikipedia.org/wiki/Gzip

В последнее время gzip активно применяется для сжатия интернет-трафика. Сейчас gzip поддерживают большинство современных браузеров
21 ДедМорроз
 
21.05.21
00:22
Так это,поток в памяти,это же и есть двоичные данные,а хранилище в него положить как раз через запись XML
22 Aleksey
 
21.05.21
05:02
23 Почему 1С
 
21.05.21
07:44
(1) Не понял, ты хранилище значения сериализовал и отправил в мобильное приложение? В мобильном приложении разве доступно хранилище значения, или как ты его там преобразовал чтобы получить двоичные данные?
24 fisher
 
21.05.21
09:37
(23) Именно так. В мобильном приложении десериализовал и штатно извлек.
С документацией странная картина. В СП 18 релиза почему-то доступность для МП убрана. Хотя в СП 12 релиза поддержка МП еще прописана.
25 fisher
 
21.05.21
09:38
Но извлекал я как раз на МП 18 релиза.
26 fisher
 
21.05.21
09:46
Похоже на ошибку в документации, ведь никто не убирал в МП возможность создавать реквизиты с таким типом.
27 fisher
 
21.05.21
09:53
Нет, дело не только в документации...
Использование конструктора ХранилищаЗначений в МП распознается как синтаксическая ошибка. Но конструктор при этом отрабатывает.
Ну, либо консерваторию сломали, либо хотели с ХранилищемЗначений на МП поступить как с ТаблицейЗначений на тонком клиенте. Ограничить непонятно что и непонятно зачем.
28 H A D G E H O G s
 
21.05.21
12:07
(27) Чтобы не гонять индексы с сервера на клиент и обратно
29 Fragster
 
гуру
21.05.21
12:21
(16) сравнить размер json строки в utf-8 и количество переданных байт
30 fisher
 
21.05.21
12:24
(28) Это ты про ТЗ? А зачем их гонять? Переиндексировали бы по месту после десериализации. Да - объект тяжелый, использовать мол с осторожностью. Пару разъяснений на ИТС, как обычно. Но вводить чисто искусственное ограничение...
31 fisher
 
21.05.21
12:30
(29) Логично. Но подумав, мне все равно проще будет перестраховаться, даже если прозрачно жмется не хуже. Если был бы простой способ проверять с клиента работает ли прозрачное сжатие - можно было бы программно контролировать. А так у меня просто недостаточно уверенности что оно будет всегда работать.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.