我正在使用LZ4库,但在解压数据时遇到了问题。
int LZ4_decompress_safe (const char* source, char* dest, int compressedSize, int maxDecompressedSize);
我想估算最大解压数据大小,但我找不到反向函数。
int LZ4_compressBound(int isize);
我需要确定解压后数据的上限,并将其提供给解压函数的最后一个参数maxDecompressedSize
。其他压缩库(例如snappy)也提供了这样的功能。
bool GetUncompressedLength(Source* source, uint32* result);
如果我没有能力保存初始数据大小(压缩之前的大小),而且我不想对我必须分配的缓冲区的大小过于悲观,那我该怎么办?