LINUX.ORG.RU

История изменений

Исправление iliyap, (текущая версия) :

Компрессор и декомпрессор стартуют с одинаковым состоянием словаря — 8-битные коды для однобайтовых строк. Когда компрессор встречает новую строку, состоящую из конкатенации имеющейся в словаре строки и одного байта, он выводит в выходной поток код имеющейся строки в текущей битности словаря и этот байт, и добавляет в словарь новую строку с новым кодом, расширяя битность словаря на 1 бит, если все коды текущей битности заняты. Декомпрессор читает из потока пары (код текущей битности словаря, байт), добавляет новую строку в словарь, после чего расширяет битность словаря, если он заполнен. Таким образом битность кодов постепенно логарифмически растет.

Исходная версия iliyap, :

Компрессор и декомпрессор стартуют с одинаковым состоянием словаря — 8-битные коды для однобайтовых строк. Когда компрессор встречает новую строку, состоящую из конкатенации имеющейся в словаре строки и одного байта, он выводит в выходной поток код имеющейся строки в текущей битности словаря и этот байт, и добавляет в словарь новую строку с новым кодом, расширяя битность словаря на 1 бит, если все коды текущей битности заняты. Декомпрессор читает из потока пары (код текущей битности словаря, байт), добавляет новую строку в словарь, после чего расширяет битность словаря, если он заполнен.