playbook/docs/tsl/syntax_book/function/tsl/compression.md

2.8 KiB
Raw Blame History

压缩和解压函数

内容
  • 压缩和解压函数简介
  • ZipCompress
  • ZipExtract
  • RarExtract
  • 压缩解压函数使用说明
  • unicompress
  • uniuncompress
压缩和解压函数简介

ZIP和RAR是最常见的文件压缩格式为此天软提供了ZIP文件压缩和解压函数以及RAR的解压支持。因RAR格式版权所有人不允许除自己外的第二者提供压缩支持目前天软没有提供RAR的压缩函数。

ZipCompress

范例

// 把文件d:\a.txt压缩到d:\a.zip文件中的/hello/world/a.txt中
ZipCompress('', 'd:\\a.zip', '', 'd:\\a.txt', 'hello/world/a.txt');
// 将d:\tmp目录压缩到d:\a.zip文件中
ZipCompress('', 'd:\\a.zip', '', 'd:\\tmp', 'test');
ZipExtract

范例

// 将ZIP文件解压可以使用ZipExtract函数例如将d:\a.zip文件解压到d:\tmp目录
ZipExtract('', 'd:\\a.zip', '', 'd:\\tmp', '123');
RarExtract

范例

// 将RAR文件解压可以使用RarExtract函数例如将d:\a.rar文件解压到d:\tmp目录
RarExtract('', 'd:\\a.rar', '', 'd:\\tmp', '123');
压缩解压函数使用说明

函数中的alias参数用于指定目录别名

ZipCompress函数可以将由filename指定的文件或目录压缩到由zip_filename指定的压缩文件中如果压缩文件不存在函数会创建一个。ZIP格式的压缩不支持加密。

函数中所指定的path是压缩文件或目录在ZIP文件中的路径。如同文件系统中文件是在树状的目录结构中存储一样ZIP文件中所存储的文件也是树状结构的通过指定path参数我们可以将文件或目录压缩后存放到ZIP文件中指定的目录下如果path参数为空(“”)就压缩到ZIP的根目录下。例如我们把文件d:\a.txt压缩到d:\a.zip文件中的/hello/world/a.txt中可以使用下面的语句

ZipCompress('', 'd:\\a.zip', '', 'd:\\a.txt', 'hello/world/a.txt');

又如我们要将d:\tmp目录压缩到d:\a.zip文件中的根下可以使用这样的语句

ZipCompress('', 'd:\\a.zip', '', 'd:\\tmp', 'test');

要将ZIP文件解压可以使用ZipExtract函数例如将d:\a.zip文件解压到d:\tmp目录

ZipExtract('', 'd:\\a.zip', '', 'd:\\tmp', '123') ;

要将RAR文件解压可以使用RarExtract函数例如将d:\a.rar文件解压到d:\tmp目录

RarExtract('', 'd:\\a.rar', '', 'd:\\tmp', '123');
unicompress

范例

本地运行下面脚本:

data := "Holle Tinysoft天软";
s := unicompress("zstd", data);
echo s, "\r\n";
echo uniuncompress("zstd", s), "\r\n";
return 1;
uniuncompress

范例

data := "Holle Tinysoft天软";
len := length(data);
s := unicompress("zstd", data);
echo s, "\r\n";
echo uniuncompress("zstd", s, len), "\r\n";
return 1;