为低内存设备选择压缩算法 - 没有完全在内存中的工作原理是什么?

Picking compression algorithm for low-memory device - what works without being entirely in memory?

我正在编写一个应用程序,它在低内存设备上需要能够读取包含的文件列表并从压缩包(或某种存档)中提取特定(但随机)的文件.

这是我的问题:bz2 tarball 在解压缩时是否可以“流式传输”(其中“流”意味着我可以读取文件列表或提取随机文件而无需将整个 tarball 读入内存)?

gz tarball 怎么样?

是否有更好或更差的格式?

我确实尝试过在线查找此信息,但我遇到了麻烦。

是的。但是你需要在“low-memory”中定义“low”。所有常用的压缩格式流。尽管它们也都需要一定量的内存来存储历史信息,但与整个流的长度无关。例如。 bzip2 约 4MB,zlib/gzip.

约 32K