Всех приветствую. Делаю задание для шараги, нужно написать прогу которая способна сжимать и растягивать файл алгоритмом LZW. Сам алгоритм предполагает наличие начального словаря, который по ходу сжатия файла(нахождения в нём новых последовательностей байтов) расширен. То есть для того чтобы в дальнейшем растянуть файл обратно, нужно знать словарь. И вообще понять, подлежит файл растягиванию или же это просто белиберда из битов. Пока такие соображения: первые биты в сжатом файле сделать что-то типа сигнатурных, чтобы можно было сходу определить можно ли растянуть файл. И после сигнатурных битов будут биты сжатого файла, а потом будет магическое число типа как «разделитель» между файлом и словарём. Насколько хорошая идея использовать магическое число как разделитель? Или же лучше будет выделить под сжатый файл первые 4 бита как сигнатурные, где помимо метки сжатия файла будет ещё число под оффсет, как количество битов после которых заканчивается сжатый файл и будут пары ключ-значение из словаря? Или может быть лучше сделать по-другому как-то?
![](/img/p.gif)
![](/photos/51229:910467640.png)
Ответ на:
комментарий
от Kroz
![](/img/p.gif)
Ответ на:
комментарий
от AlexVR
![](/img/p.gif)
Ответ на:
комментарий
от Kroz
![](/img/p.gif)
Похожие темы
- Форум Сжатие данных при помощи lzw (2017)
- Форум новая секция (2015)
- Форум Критическая секция (2008)
- Форум Критическая секция (2003)
- Форум сжатие (2013)
- Форум BIN (2017)
- Форум *.bin (2008)
- Форум .bin (2008)
- Форум /bin/[ (2007)
- Форум Сжатие фотографий (2016)