我不在乎压缩需要多长时间,我想要实现的只有两件事:
因此,诸如 7-zip 之类的建议不会有太大用处,除非 7-zip 在标准 ZIP 压缩方面也稍好一些(而不是使用它非常好的 .7z 格式)。
理想情况下,我正在寻找:
请记住,压缩需要多长时间不是问题!
最后一件事 - 有些文件可能会使用不同的设置更好地压缩,例如“字大小”或“字典大小” - 是否有可以分析文件并选择最合适压缩率的工具,或者 WinZip,7-zip等已经这样做了吗?
我正在做一个通过卫星连接互联网的项目,每天只有 130kB(如果我使用更多,那就非常昂贵)。
我希望每天发送尽可能多的“有用”数据,同时保持在 130kB 以下。
我在这里读到(文件名如何存储?)和这里(元数据不占用任何大小吗?)元数据存储在文件系统的专用部分中,但我不清楚它会“花费”多少字节发送它。
例如,如果我使用 FTP,它是否取决于源文件系统?在服务器文件系统上?还是跟FTP协议有关?
说到传输协议,最划算的是什么?我用谷歌搜索了一下,似乎每个协议都消耗位和字节来进行握手、数据完整性检查等,但我没有清楚地找到哪一个是最经济的,以及协议本身的管理需要多少字节。
我还阅读了有关块大小的内容。这个问题与数据传输有关还是仅与数据存储有关(在后一种情况下这不是问题)?
[编辑2023-11-08 11:00]
我已经在从事数据选择、数据压缩、错误处理等工作。我对这些主题比较熟悉,我在这个问题中没有提到它们,因为我暂时不需要帮助,如果是这样的话未来我会问一个单独的问题。
我每天有 130kB,假设协议本身使用了 30kB。我的问题不是如何格式化我的数据,以便我可以在 100kB 内发送尽可能多的值,我的问题是:它真的是 30kB 吗?更多的?较少的?当然这要看情况。但这取决于什么?在我原来的问题上,我列出了一些我添加的想法,我需要你的经验来知道我是否错过了一些东西和/或帮助我将我的研究范围缩小到光解决方案。
上下文元素:
它适用于部署在南极洲的自主仪器。那里不可能有与 Lora 相关的解决方案。
发送的数据是仪器的状态和测量数据。数据存储在本地,每年“物理”检索一次。数据用于查看某些仪器的参数是否需要修改,进行一些预分析并准备年度维护。
如果某一天的数据遗漏或者没有完成,问题不大,第二天应该就不会发送了。
制作 7zip 文件时要使用哪些设置以获得最大压缩率?我正在压缩包含扫描图像的 PDF 文档。我正在考虑使用 LZMA2,但我不知道在字典大小、字大小等中设置什么。另外,LZMA 或 PPMd 会是更好的选择吗?
我需要通过网络传输一些文件(~200MiB),这里的上传速度非常慢,所以我想尽可能地压缩数据。消耗的 CPU 时间不是很重要。
编辑
这是我在测试各种压缩方法后得到的结果:
未压缩大小为:25,462,686B
我的处理器是 Intel Core 2 Due T8100,我有 4GiB 的内存。
最好的压缩是使用 PeaZip 使用 PAQ8O 算法。结果文件大小为 19,994,325B。使用的设置是压缩级别:最大。不幸的是,压缩速度大约为 5KiB/s,因此压缩数据需要 1 个小时以上。
接下来是实验性的 PAQ9O 压缩机。使用它,我在大约 3 分钟的压缩中得到了 20,132,660B。不幸的是,程序只是命令行,没有多少其他程序使用这种压缩算法。它还使用大约 1.5GiB 的 RAM 和我使用的设置(a -9 -c)
之后是使用 LZMA2 的 7-Zip 9.15 beta (2010-06-20)。使用它,我在大约 3 分钟内得到了 20,518,802B。使用的设置是字大小 273,字典大小 64MB,我使用 2 个线程进行压缩。
现在回到我最初的问题:在我的情况下,实体块大小没有产生任何明显的结果。增加字数确实产生了一些结果。最大字长和最小字长之间的差异是 115,260B。我相信这样的节省确实证明了进行两次必要的点击和更改字号所需的努力是合理的。
我尝试使用 7zip 和 PeaZip 支持的其他压缩算法,它们生成的文件大小从 19.8MiB 到 21.5MiB。
最后,我的结论是,在压缩主要包含图像的 PDF 文档时,使用奇异压缩算法所需的努力是不合理的。在 7zip 中使用 LZMA2 压缩在最短的时间内产生了相当可接受的结果。