我对压缩算法几乎没有经验;我的经验来自于运行tar czvf命令。有没有办法在C中压缩char数组?
我主要关注的是速度和内存优化。我正在从串行端口接收数据,然后立即将它们写到日志文件中。我希望在将数据写入日志文件之前对其进行压缩/加密,因为我的硬盘空间有限。我还以ASCII格式存储信息,因为我必须用时间戳将其打包。我应该用什么方法来压缩这些信息?或者有没有什么库可以帮上忙呢?
发布于 2011-07-06 02:37:17
评论中已经提到了zlib。由于您提到了ASCII,因此您可能会对以下函数特别感兴趣:
ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));发布于 2011-07-06 02:41:12
我在这里给这个库添加了书签,但我从来没有用过它。
LZO是一个适用于实时数据解压缩的数据压缩库。这意味着它更喜欢速度而不是压缩比。
LZO是用ANSI编写的,源代码和压缩数据格式都是为跨平台而设计的。
http://www.oberhumer.com/opensource/lzo/
https://stackoverflow.com/questions/6587149
复制相似问题