resultBinary = 取空白字节集 (取字节集长度 (压缩后数据) × 2) ' 这里不是很确定输出缓冲区到底要申请多少内存
ret = RtlDecompressBuffer (#COMPRESSION_FORMAT_LZNT1, resultBinary, 取字节集长度 (resultBinary), 压缩后数据, 取字节集长度 (压缩后数据), FinalUncompressedSize)
返回 (取字节集左边 (resultBinary, FinalUncompressedSize))
本源码仅当抛砖引玉,很多地方写的不够好,而且似乎对文本操作没啥问题,对二进制文件就会出错,等待大神解决。
源码中使用的是LZ算法,需要源数据中存在重复的字节集;若是不存在就会出现压缩后的长度比源数据还大的情况。
看文档里还有种COMPRESSION_ENGINE_XPRESS的算法可选,但是我没找到对应的常量值。
上一篇 易语言实现的端口映射软件