一尘不染

最佳的XML压缩算法?

algorithm

我对压缩几乎一无所知,所以请耐心等待(这可能是一个愚蠢而痛苦的显而易见的问题)。

所以可以说我有一个带有一些标签的XML文件。

<verylongtagnumberone>
  <verylongtagnumbertwo>
    text
  </verylongtagnumbertwo>
</verylongtagnumberone>

现在,让我说一堆这些很长的标签,在我的多个XML文件中有很多属性。我需要将它们压缩到最小尺寸。最好的方法是使用特定于XML的算法,该算法分配单个标签的假名,例如vlt1或vlt2。但是,这不会像我尝试的那样“开放”,我想使用像DEFLATE或LZ这样的通用算法。如果存档文件是.zip文件,它也有帮助。

因为我要处理纯文本(没有像图像这样的二进制文件),所以我想要一种适合纯文本的算法。哪一个产生的文件大小最小(首选无损算法)?

顺便说一句,情况是这样的:我正在为文档(如ODF或MS Office XML)创建一个标准,这些标准包含以.zip打包的XML文件。

编辑:“加密”是错字;它应该是“压缩”的。


阅读 334

收藏
2020-07-28

共1个答案

一尘不染

有一个名为 EXI(有效XML交换) 的W3(尚未发布)标准。

将来应成为用于压缩XML数据的数据格式(称为最后一种必要的二进制格式)。经过针对XML的优化,它比常规压缩算法以更高的效率压缩XML。

使用EXI,您可以即时处理压缩的XML数据(无需解压缩或重新压缩数据)。

EXI =(XML + XMLSchema)作为二进制。

在这里,您可以使用开源实现(不知道它是否已经稳定):
充分

2020-07-28