我对压缩算法的经验很少;我的经验来自于运行tar czvf命令。有没有办法在C中压缩char数组?
我的主要关注点是速度和内存优化。我正在从串口接收数据,然后立即将它们写入日志文件。我想在将数据写入日志文件之前压缩/加密数据,因为我的硬盘空间有限。我也以ASCII格式存储信息,因为我必须用时间戳打包它。我应该采用什么方法来压缩这些信息?或者是否有一些我可以帮助的图书馆?
答案 0 :(得分:4)
zlib已在评论中提及。由于您提到ASCII,您可能会对函数感兴趣:
ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
答案 1 :(得分:2)
我在这里有这个lib书签,但我从未使用它。
LZO是一个数据压缩库,适用于实时数据解压缩。这意味着它有利于速度超过压缩比。
LZO是用ANSI C编写的 源代码和压缩数据 格式设计为可移植的 跨平台。