2017-05-18 1 views
0

압축 알고리즘에 익숙하지 않습니다. zlib 또는 다른 라이브러리에서 압축을 풀고 gzip 스트림의 시작 부분 만 수정하고 다시 압축 한 다음 압축 된 나머지 스트림과 연결하는 것이 가능합니까? 예를 들어 10GB gzip 파일의 사용자 데이터 (헤더가 아님)의 첫 번째 바이트를 수정하여 전체 파일의 압축을 풀고 재 압축하지 않아야하는 경우에이 작업이 수행됩니다.gzip 부분 수정 및 재 압축

답변

1

아니요. 압축은 일반적으로 후속 데이터를 압축 할 때 이전 데이터를 사용합니다. 따라서 나머지 데이터를 다시 압축하지 않고 선행 데이터를 변경할 수 없습니다.

예외는 원래 각 중단 점에서 기록을 재설정 한 압축 데이터에 중단 점이있는 경우입니다. zlib에서는 압축 중에 Z_FULL_FLUSH을 사용합니다.