-1

Размеры слов сжатия обычно равны 2. Тем не менее, 7-Zip имеет некоторые исключения:

  • Deflate имеет как 256, так и 258 размеров слова.
  • Deflate64 имеет как 256, так и 257 размеров слова.

Это кажется таким тривиальным и странным увеличением. В чем причина / цель для них?

Вот фотография того, о чем я говорю:

1 ответ1

1

7-Zip на самом деле не показывает все размеры слов, на которые способны Deflate и Deflate64. Он показывает только выбранный образец. На самом деле Deflate способен на все приращения целых чисел от 3 до 258. Поскольку сопоставление с образцом невозможно или бесполезно только с 1-2 переменными, эти количества пропускаются. Таким образом, размер слова Deflate на самом деле является степенью 2. Поскольку "1" и "2" не являются возможными вариантами выбора размера слова для Deflate, вы -2 из максимального размера 258, что равно 256.

Что касается Deflate64, он может увеличивать целые числа от 3 до 257. 258 фактически используется как флаг расширения, чтобы увеличить диапазон размера слова с 3-65538. Тем не менее, 7-Zip просто не использует эту функцию. В любом случае, если вы -2 из 65538, вы получите 65536, что также является степенью 2. Интересно, однако, что Deflate64 мог бы быть улучшен, если бы флаг расширения охватывал диапазоны 258-65793, так как 3-257 уже охвачены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .