Существует ли API сжатия, который хранит состояние отдельно? - PullRequest
0 голосов
/ 27 сентября 2018

Мне нужен API сжатия, который позволяет мне хранить информацию о его состоянии отдельно от сжатых данных.

Я понимаю, что для правильной работы мне, вероятно, понадобится API, требующий 2 прохода: проход 1 черезданные для построения его таблиц замены символов и передачи 2 для фактического сжатия данных.

Существует ли такой API?

1 Ответ

0 голосов
/ 27 сентября 2018

Любая используемая библиотека сжатия имеет состояние, так что вы можете сжимать произвольно длинные потоки.Без состояния вы должны были бы передать все данные за один вызов.

Кроме того, любая используемая библиотека сжатия выполняет потоковую передачу, что означает, что имеется только один проход.

zlib является одним примером, где потоки deflate(), а также inflate() поддерживают непрозрачное состояние от вызова к вызову, указанному в структуре z_stream.

...