手头的程序中需要解压 svgz 到 svg.
之前我在手动解压时, 一般就用 WinRar, 所以曾经以为 svgz 是 zip 格式的(因为和 zip 的压缩率基本一致), 现在知道了它是 gzip 压缩格式.
在解决这个问题之前, 曾经傻呵呵地找来 VclZip、ZipTV、7Zip 等相关组件... 等问题解决时, 实在没想到会是这样容易:
可用 IdZLib 单元中的 TCompressionStream、TDecompressionStream 类,
该单元还有更易用的 CompressStream()、CompressString()、DecompressStream() 等函数.
压缩时可选择压缩类型(ZLib、GZip 等)和压缩比率, 使用都非常简单.
还可以使用 IdCompressorZLib 单元中的 TIdCompressorZLib 类.
根据它的用途(如网页压缩等)猜测, gzip 应该是非常适合文本压缩的格式; 和 Zlib 单元提供的工具不同是: gzip 是可以被常见的压缩工具解压的.
有了这个, 或许我以后就不在考虑在程序中使用其它压缩工具了.