def create_entry(name, data):
zlength = []
output = BytesIO()
for i in range(0, len(data), BLOCK_SIZE):
raw = data[i: i + BLOCK_SIZE]
compressed = zlib.compress(raw, zlib.Z_BEST_COMPRESSION)
if len(compressed) < len(raw):
output.write(compressed)
zlength.append(len(compressed))
else:
output.write(raw)
zlength.append(len(raw) % BLOCK_SIZE)
return {
'md5': md5(name.encode()).digest() if name != '' else bytes(16),
'zlength': zlength,
'length': len(data),
'data': output.getvalue()
}
评论列表
文章目录