← retour aux snippets

zlib: compresser et décompresser des bytes

Réduire la taille de données binaires et les restaurer.

python compression #zlib#compress#deflate

objectif

Réduire la taille de données binaires et les restaurer.

code minimal

import zlib
data = b"abc" * 100
comp = zlib.compress(data, level=9)
decomp = zlib.decompress(comp)
print(decomp == data)  # attendu: True

utilisation

import zlib
print(zlib.crc32(b"hello") == 907060870)

variante(s) utile(s)

import zlib
c = zlib.compressobj(level=6)
out = c.compress(b"A"*1000) + c.flush()
print(len(out) > 0)

notes

  • compressobj permet de streamer des blocs successifs.
  • Le CRC32 de zlib est utile pour des contrôles rapides (non cryptographiques).