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