본문 바로가기

Programming

zlib compress/decompress

python zlib 으로 압축/해제 할때

그냥 일반적으로 다음과같이하면 아무 문제가 없다.


e = zlib.compress('blabla......')

zlib.decompress(e) -> 'blabla....'


하지만 자세히는 몰라도 wbit, level 이라는것과 zlib 헤더 2바이트가 있어서...

compress 한 결과를 헤더정보없이 순수하게 때면 앞의 2바이트를 때야한다.

이경우 decompress 할때 wbit 를 -15 로 주면 복원이된다.


한마디로

zlib.decompress( zlib.compress(data) ) == data

zlib.decompress( zlib.compress(data)[:2], -15 ) == data

이런식이다


자세히는 귀찮아서 안알아봄 -_-