- Сжатие папок и фалов с сохранением целостности структуры
- Алгоритм кодирования методом Шеннона-Фано
- Алгоритм кодирования RLE
- Поточное кодирование данных (возможность шифрования файлов 0.3Gb+)
- UI интерфейс
- Выбор алгоритма в настройках
- Режим разработчка (установка дефолтных папок с файломи, папки для декодирояни и файла-композита)
- Настройки разработчка (с сохранением в xml формате)
- [4] Сигнатура (4 bytes) = { 0xFA, 0xAA, 0xAA, 0xAC }
- [4] Версия формата (1 int) (сейчас v5)
- [1] Код сжатия с контекстом (1 byte)
- [1] Код сжатия без контекста (1 byte)
- [1] Код защиты от помех (1 byte)
- [1] Резерв (1 byte)
- [8] Указатель на начала данных файлов (1 long)
- [4] Количество путей папок с данными (1 int)
- Folders data:
[4] Длина строки информации о папки в байтах UTF8 (1 int) = folderLen
[folderLen * 1] Информация о папке - [4] Количество файлов (1 int)
- Files data:
[8] Указатель на начало информации о папке либо 0L, если файл лежит в корне (1 long)
[4] Количество байтов строки названия файла UTF8 (1 int) = len
[len * 1] Строка названия в байтах
[8] Длина файла в байтах (1 long) = fileLen
[1] Код алгоритма кодирования (1 byte) = {0 (None)|1 (шенона-фано)|2 (RLE)}
[8] Длина закодированной информации в байтах (1 long) = encodedFileDataLen
[encodedFileDataLen * 1] Закодированый файл в байтах