Skip to content

devTryer31/otic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Реализовано

  • Сжатие папок и фалов с сохранением целостности структуры
  • Алгоритм кодирования методом Шеннона-Фано
  • Алгоритм кодирования RLE
  • Поточное кодирование данных (возможность шифрования файлов 0.3Gb+)
  • UI интерфейс
  • Выбор алгоритма в настройках
  • Режим разработчка (установка дефолтных папок с файломи, папки для декодирояни и файла-композита)
  • Настройки разработчка (с сохранением в xml формате)

Формат файла .faac

  1. [4] Сигнатура (4 bytes) = { 0xFA, 0xAA, 0xAA, 0xAC }
  2. [4] Версия формата (1 int) (сейчас v5)
  3. [1] Код сжатия с контекстом (1 byte)
  4. [1] Код сжатия без контекста (1 byte)
  5. [1] Код защиты от помех (1 byte)
  6. [1] Резерв (1 byte)
  7. [8] Указатель на начала данных файлов (1 long)
  8. [4] Количество путей папок с данными (1 int)
  9. Folders data:
    [4] Длина строки информации о папки в байтах UTF8 (1 int) = folderLen
    [folderLen * 1] Информация о папке
  10. [4] Количество файлов (1 int)
  11. 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] Закодированый файл в байтах

About

Desktop app for files compressing

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages