有谁知道,WinDev-Function Compress()使用哪种压缩方法,也许,如何在php中解压缩结果?
WinDev的API仅说“二进制”压缩,但没有关于它的进一步细节。 http://doc.windev.com/en-US/?3024012&product=WD&productversion=XXA150
在php中我可以使用unpack(),但必须说明哪种格式。如果没有知识,就会在大海捞针中搜寻。</ p>
也许有人,已经做过这件事,并且可以帮助我。
示例: zip-File containing a sample-Result of the Compress()-Function and the plain content for comparison
答案 0 :(得分:1)
PCSOFT在大多数情况下使用他们的WDZ格式并且它不是标准的,因此您无法使用常用工具打开它。我听说他们使用了一些像zlib这样的常用库,但是对它们进行了一些改动,所以你可能只能使用他们的工具WDZIP.EXE来处理它。
您应该查看zipCreate()等其他函数来创建存档并使用一些标准格式: http://doc.windev.com/en-US/?3082007
希望这会有所帮助:)
答案 1 :(得分:0)
这个问题已有 7 年历史,但如果有人需要读取使用该函数压缩的数据,我也不得不将其反转:
01 01 00 00 00 XX
开头,其中 XX
是:
00
表示“无压缩”04
代表“LZW”LZW 压缩使用 16 位代码而不是通常的 12 位,并且它的明码为零,这意味着每个字面代码都递增。
我采用了 Go 的 compress/lzw
包并对其进行了一些修改:16 位代码、零清除代码、递减每个文字代码。
到目前为止,它可以正确解码所有内容。