여기 python에서 zlib 또는 gzip 모듈을 사용하여 데이터의 압축을 푸는 것에 대한 많은 질문과 대답을 알고 있습니다. 그러나 gzip은 zlib을 기반으로하기 때문에 gzip이 어떻게 구현하는지 궁금합니다.
gzip의 소스를 읽고 zlib를 사용하여 wbits가 -15로 설정된 청크로 데이터 청크를 압축 해제하는 것을 발견했습니다.
그러나 zlib을 wbits -15로 압축을 풀 때 직접 사용하면 wbits 15 + 16에서만 작동하는 "invalid block type"이 표시됩니다.왜 zlib을 사용하여 gzip의 스타일과 같은 문자열을 압축 해제 할 수 없습니까?
나는 15 + 16을 사용해야하는 이유를 알고 있지만 gzip은 -15를 사용할 수있는 이유를 모르지만 그럴 수는 없습니다. 광산 모듈과 gzip 모듈 간의 구현 차이점은 누가 알고 있습니까?