Skip to content

Belaquaa/serialization-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Концепция программы:

  1. Свой кодировщик в системе с основанием 128 (столько всего символов в ASCII, внимательно, не 95 с представлением! Указал в коде кодировщика, почему так), что позволяет увеличить эффективность кодирования с 6 бит на символ в стандартном Base64 до 7 в нашем

  2. Первое простое решение, где прямо кодируем каждый символ: сначала записываем число элементов (10 бит), потом каждый элемент (9 бит), итоговый битовый поток преобразуем в строку через наш кодировщик.

  3. Второе сложное решение: используем алгоритмы rle. Сортируем исходный массив и вычисляем разности между соседними элементами, группируем их в руны (последовательности одинаковых разностей). Записываем в битовый поток с заголовками, кодируем в строку. Здесь сжатие сильно лучше, но не сохраняется порядок

Удалось достичь коэффициента сжатия 0.33 в простом решении и 0.08 (8% начальной информации) в продвинутом без ошибок десериализации

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages