dictzip - 云端在线

这是 dictzip 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


dictzip, dictunzip - 压缩(或扩展)文件,允许随机访问

概要


字典 [选项] 姓名
字典压缩包 [选项] 姓名

商品描述


字典 使用压缩文件 GZIP(1)算法(LZ77)的方式是
完全兼容 GZIP 文件格式。 的扩展 GZIP 文件格式
(额外字段,在 RFC 2.3.1.1 的 1952 中描述)允许将额外数据存储在
压缩文件的头部。 像这样的程序 GZIPcat猫 将忽略这些额外的数据。
然而, 字典(8)、DICT协议字典服务器将利用这些数据
对文件执行伪随机访问。 中的文件 字典 格式应以“.dz”结尾
以便将它们与常见的区别开来 GZIP 不包含特殊文件
头信息。

从 RFC 1952 中,额外字段指定如下:

如果设置了 FLG.FEXTRA 位,则报头中会出现一个“额外字段”,总共
长度 XLEN 字节。 它由一系列子字段组成,每个子字段的形式为:

+---+---+---+---+================================== =+
|SI1|SI2| LEN |... LEN 字节的子字段数据...|
+---+---+---+---+================================== =+

SI1 和 SI2 提供一个子字段 ID,通常是两个带有一些助记符的 ASCII 字母
价值。 让-卢·盖利gzip@prep.ai.mit.edu> 正在维护一个注册表
子字段 ID; 请将您希望使用的任何子字段 ID 发送给他。 子字段 ID
SI2 = 0 保留供将来使用。

LEN 给出子字段数据的长度,不包括 4 个初始字节。

字典 程序对 SI1 使用“R”,对 SI2 使用“A”(即“随机访问”)。 之后
LEN字段,数据排列如下:

+---+---+---+---+---+---+========================== ======+
| VER | 克伦 | CHCNT | ... CHCNT 数据字 ... |
+---+---+---+---+---+---+========================== ======+

根据 RFC 1952,所有数据首先存储最低有效字节。 对于 VER 1 的数据,
所有值都是 16 位长(2 个字节),并且是无符号整数。

XLEN(在头部前面指定的)是一个两字节的整数,所以额外的字段
可以是 0xffff 字节长,其中 2 个字节用于子字段 ID(SI1 和 SI1),以及
其中 2 个字节用于子字段长度 (LEN)。 这留下了 0xfffb 字节(0x7ffd
2 字节条目或 0x3ffe 4 字节条目)。 鉴于 zip 输出缓冲区必须为 10% +
比输入缓冲区大 12 个字节,我们每个条目可以存储 58969 个字节,或大约 1.8GB
如果使用 2 字节条目。 如果这成为一个限制因素,另一个格式版本
可以为 4 字节条目选择和定义。

对于压缩,文件被分成“数据块”,每个数据块小于
64kB,并且可以压缩成一个长度也小于 64kB 的区域(需要
考虑到不可压缩的数据——通常数据被压缩成一个块
比原来的小很多)。 CHLEN 字段指定“块”的长度
数据。 CHCNT 字段指定预置了多少块,以及数据的 CHCNT 字
指定压缩后每个块的长度(即,在当前压缩文件中)。

为了对数据执行随机访问,将数据的偏移量和长度提供给
图书馆例程。 这些例程确定所需数据开始的块,
并解压那个块。 根据需要对连续的块进行解压缩。

权衡


迅速的 没有实现真正的随机文件访问,因为任何访问,即使是单个字节,
要求读取和解压缩 64kB 块。 这比访问慢
一个纯文本文件,但比在完整的文本文件上执行串行访问要快得多
压缩文件。

太空 对于我们正在使用的文本词典数据库,使用 64kB 块
最大的 LZ77 压缩实现的文件仅比原来的大 4%
一次压缩同一个文件。

配置


-d or --解压
解压。 如果可执行文件被调用,这是默认值 字典压缩包.

-c or --标准输出
在标准输出上写输出; 保持原始文件不变。 这只是
解压缩时可用(因为部分标头必须在
压缩时写)。

-f or - 力量
即使输出文件已存在,也强制压缩或解压缩。

-h or - 帮帮我
显示帮助。

-k or - 保持
不要删除原始文件。

-l or - 列表
对于每个压缩文件,列出以下字段:

类型:dzip、gzip 或文本(包括未知格式的文件)
crc:CRC 校验和
日期和时间:来自标题
块:文件中的块数
size:每个未压缩块的大小
compr.: 压缩大小
uncompr.:未压缩的大小
ratio:压缩率(如果未知,则为 0.0%)
名称:未压缩文件的名称

不比 GZIP,未检测到压缩方法。

-L or - 执照
显示 字典 许可并退出。

-t or - 测试
检查压缩文件的完整性。 未实施此选项。 相反,它
将列出标题信息。

-v or --详细
冗长。 在压缩期间显示额外信息。

-V or - 版
版本。 显示版本号和编译选项然后退出。

-s 开始 or - 开始 开始
使用十进制数字指定开始解压缩的提议。 默认是在
文件的开头。

-e 尺寸 or - 尺寸 尺寸
使用十进制数指定要解压缩的文件部分的大小。
默认为整个文件。

-S 开始 or - 开始 开始
使用 base64 数字指定开始解压缩的提议。 默认是在
文件的开头。

-E 尺寸 or - 尺寸 开始
使用 base64 数字指定要解压缩的文件部分的大小。
默认为整个文件。

-p 预过滤器 or --预 预过滤器
指定在压缩或解压前作为过滤器执行的 shell 命令
一块。 压缩前和压缩后过滤器可用于提供
额外的压缩或输出格式。 过滤器可能不会增加
缓冲区大小显着。 压缩前和压缩后过滤器旨在
尽可能提供最通用的接口。

-P 后置过滤器 or - 邮政 后置过滤器
指定在压缩或解压缩后作为过滤器执行的 shell 命令。

鸣谢


字典 由 Rik Faith (信仰@cs.unc.edu) 并根据以下条款分发
GNU 通用公共许可证。 如果您需要根据其他条款分发,请写信给
作者。

该程序使用的主要库(zlib、regex、libmaa)分布在
不同的术语,因此您可以将库用于应用程序
与 GPL 不兼容——请参阅版权声明和许可信息
与图书馆一起了解更多信息,并咨询您的律师以解决
这些问题。

使用 onworks.net 服务在线使用 dictzip



最新的 Linux 和 Windows 在线程序