С Новым годом! Форум программистов, компьютерный форум, киберфорум
Lua
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
107 / 13 / 7
Регистрация: 06.07.2013
Сообщений: 268

Эффективный формат сериализации

12.04.2024, 12:51. Показов 751. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно получать данные из игры, поддерживающей Lua аддоны.

На данный момент я создаю Lua объект, сериализую его в json, и посимвольно кодирую этот json в таблицу, состоящую из цветных пикселей на экране, которые читаю внешней программой.

Цвета отображаются как обычные [R,G,B], где каждый цвет это байт, но задавать каждый канал можно только десятичной дробью от 0.00 до 0.99. Я знаю какая дробь, какому целому числу соответствует, после отображения цвета на экране и могу конвертировать канал R = 255 скажем в 0.99. Таким образом цветом одного пикселя я могу передать 6 чисел от 0 до 9.

В 6 числах я решил хранить 2 символа в кодировке windows-1251. Для экономии места перед сериализацией в json я переименовываю все поля в их индексы, удаляю из объекта все поля со значением 0 и false, т.к. это значение типов по умолчанию и после десериализации внешней программой эти данный у меня будут в любом случае. Так можно отобразить довольно большой текст, но в передаваемых данных 40% это кавычки и фигурные скобки.

Может ли кто подсказать более эффективный формат сериализации для моей задачи? Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2024, 12:51
Ответы с готовыми решениями:

Преобразование файла в формат XML путём сериализации
Добрый день, дано такое задание : мой код : public class Person {

Ошибка NullReferenceException при сериализации объектов в формат XML
Всем привет, помогите плиз при сереализации возникают исключения, никак не могу их исправить Иерархия классов такова абстрактный класс...

Эффективный маршрут
На складе, имеющем размеры N на M и разбитом на N x M одинаковых блоков хранения передвигается робот. Вход на склад находится в верхнем...

2
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
13.04.2024, 02:13
бинарный
2
107 / 13 / 7
Регистрация: 06.07.2013
Сообщений: 268
13.04.2024, 13:09  [ТС]
Цитата Сообщение от vantfiles Посмотреть сообщение
бинарный
Чтобы отобразить букву "А" моим текущем способом, нужно потратить половину пикселя, а в бинарном формате 2 пикселя. Просто увеличение "веса" данных в 4 раза на ровном месте. И как то расточительно хранить только 0 и 1 в переменной, которая может отображать от 0 до 9.
Или я что-то не так понимаю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2024, 13:09
Помогаю со студенческими работами здесь

Эффективный адрес переменной
Почему эффективный адрес переменной допустим этого примера уменьшается на 0xC при каждом создании новой переменной. #include...

Наиболее эффективный swap
Есть массив объектов. В объекте есть переменная которая отвечает за свойства. Надо поменять местами два объекта при этом, позиции должны...

Написать эффективный алгоритм
Будем называть два целых числа «разноделящимися», если большее по модулю делится без остатка на меньшее по модулю и нет ни одной ...

Неверный эффективный адрес
Задача состояла в том, чтобы подсчитать количество четных элементов двухмерного массива Программа выглядит так: section .data array...

Эффективный режим работы
Добрый день! Написал решение задачи но меня сильно смущает получаемый результат т.к. ателье эффективно работает только с одним...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru