我正在使用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);
如果我无法保存初始数据大小(压缩前),并且我不想对必须分配的缓冲区大小过于悲观,我该怎么办?