zlib 라이브러리에는 이 문서에서 다룰 수 있었던 것보다 훨씬 더 많은 기능이 있습니다. 예를 들어 zlib를 사용하여 일부 데이터의 체크섬을 계산하여 압축을 풀 때 무결성을 확인할 수 있습니다. 이와 같은 추가 기능에 대한 자세한 내용은 공식 설명서를 참조하십시오. 선택적 매개변수 max_length가 0이 아닌 경우 반환 값은 max_length보다 더 이상 존재하지 않습니다. 이는 압축된 입력을 모두 처리할 수 있는 것은 아님을 의미할 수 있습니다. 사용되지 않은 데이터는 사용되지 않은_tail 속성에 저장됩니다. 감압을 계속하려면 이 비검을 압축 해제() 후속 호출로 전달해야 합니다. max_length가 0이면 전체 입력이 압축 해제되고 사용되지 않은_tail이 비어 있습니다. wbits 매개 변수는 기록 버퍼(또는 “창 크기”)의 크기와 예상되는 헤더 및 트레일러 형식을 제어합니다. 압축비()에 대한 매개 변수와 유사하지만 더 많은 값 범위를 허용합니다: zdict는 미리 정의된 압축 사전입니다. 압축할 데이터에서 자주 발생할 것으로 예상되는 하위 시퀀스를 포함하는 바이트 시퀀스(예: 바이트 개체)입니다.

가장 일반적인 하위 시퀀스는 사전의 끝에 와야 합니다. 성공하면 메모리 내 gzip 파일을 반환합니다. 그렇지 않으면 undef를 반환하고 $gzerrno 변수는 zlib 오류 코드를 저장합니다. +8 ~ +15: 창 크기의 기본 2 로거헴. 입력에는 zlib 헤더와 트레일러가 포함되어야 합니다. zlib와 UNIX에서 사용하는 오류 번호 사이에 겹치는 부분이 $gzerrno 숫자 컨텍스트에서 오류가 있는지 확인하는 데만 사용해야 합니다. gzerror()를 사용하여 특정 zlib 오류를 확인합니다. 아래 gzcat 예제에서는 변수를 안전하게 사용할 수 있는 방법을 보여 주어 있습니다. 그것은 deflates의 기능을 결합Init, deflateInit2 및 deflateSetDictionary.

이 샘플 주셔서 감사합니다, 그것은 매우 유용했다. 나는 너무 gzip 압축을 수행하기 위해 그것을 사용했다. 내 유일한 변화는 deflateInit2로 zlib를 초기화하는 방식이었지만 코드를 있는 것처럼 사용할 수 있습니다. $source 압축합니다. 성공하면 압축된 데이터를 반환합니다. 그렇지 않으면 undef를 반환합니다. 압축된 파일에 $buffer 내용을 씁니다. 실제로 작성된 바이트 수 또는 오류에 대해 0을 반환합니다. 참고: 이 방법은 zlib 1.0.6 이상을 실행하는 경우에만 사용할 수 있습니다. zlib 매뉴얼은 라이브러리의 많은 함수의 의미와 용도에 대해 설명합니다.

압축된 데이터의 끝에 도달하면 Z_OK를 반환하고 Z_STREAM_END를 반환합니다. 성공하지 못하면 $out 해제되고 $status zlib 오류 코드를 보유합니다. 파이썬 zlib 라이브러리는 DEFLATE 무손실 압축 알고리즘에 대한 상위 수준의 추상화인 zlib C 라이브러리에 파이썬 인터페이스를 제공합니다. 라이브러리에서 사용하는 데이터 형식은 RFC 1950에서 1952까지 지정되며 http://www.ietf.org/rfc/rfc1950.txt 사용할 수 있습니다. 간단한 문자열에서 압축 메서드를 사용하는 예는 다음과 같습니다: zdict가 변경 가능한 개체(예: 바이트어레이)인 경우 압축 해제()에 대한 호출과 압축 해제(compressor)의 첫 번째 호출(compressor)에 대한 첫 번째 호출 사이에 내용을 수정해서는 안 됩니다. 이 섹션에서는 zlib에서 제공하는 deflate 인터페이스를 사용하여 메모리 내 압축을 허용하는 인터페이스를 정의합니다. 압축 개체의 복사본을 반환합니다. 공통 초기 접두사를 공유하는 데이터 집합을 효율적으로 압축하는 데 사용할 수 있습니다. 압축을 구성한 다음 압축 개체를 다른 메서드/모듈로 전달할 수 있는 대규모 응용 프로그램에서 유용하게 사용할 수도 있습니다. 그런 다음 데이터 청크를 계열로 압축하는 데 사용할 수 있습니다.

보류 중인 모든 입력이 처리되고 나머지 압축 출력을 포함하는 바이트 개체가 반환됩니다.