我在 XML 文件中存储了许多 base64 编码的 64 位双精度块。双重数据看起来都相似。
双数据目前在编码之前使用 java 'Deflate' 算法进行压缩,但是文件中的每个二进制数据块都有自己的 deflate 数据字典,这是我希望大大减少的开销。'Deflater' 类有一个我想使用的 'setDictionary' 方法。
所以问题是:
1)。有没有人对如何最好地构建我自己的单个自定义数据字典有任何建议?基于他可以用于多个放气操作的多个双精度部分(x8 字节),即对所有压缩使用相同的字典?我是否应该在所有字节数组中查找公共字节,并将最常见的字节放在字典数组的末尾?
2)。我可以将(自定义)数据字典与压缩数据分开,然后在再次膨胀数据之前根据压缩数据设置字典吗?
3)。放气算法是否会采用我的自定义数据字典,然后无论如何创建自己的略有不同的数据字典,既使我的单一数据字典无效,又减少使用单一数据字典可能节省的空间?
4)。有人可以详细说明zlib压缩数据的结构,以便我自己尝试将数据字典与压缩数据分开吗?
我只想在我的文件中为数据字典使用一次空间,并将它用于我的文件中我的双数据的每个块,但不将它与双数据一起存储。如果数据字典不能与压缩数据分开/单独存储,那么构建自定义奇异字典似乎没有什么价值,因为每个压缩块都有自己的字典。这是正确的吗?