5

几年前,我读到了一种非常轻量级的文本压缩算法,但现在我找不到参考资料或记住它的名称。

它使用每对连续字符之间的差异。例如,由于小写字母预测下一个字符也将是小写字母,因此差异往往很小。(它可能在减去之前已经丢弃了前一个字符的低位;我不记得了。)即时复杂性降低。而且它是 Unicode 友好的。

当然有一些花里胡哨的东西,以及产生比特流的细节,但它是超轻量级的,适用于嵌入式系统。没有大量的字典来存储。我很确定我看到的摘要在维基百科上,但我找不到任何东西。

我记得它是在 Google 发明的,但不是Snappy

4

1 回答 1

2

我认为您正在讨论的是 BOCU,Unicode 的二进制顺序压缩或其前身/继任者之一。尤其,

BOCU的基本结构很简单。在压缩代码点序列时,您从当前代码点中减去最后一个代码点,产生一个范围从 -10FFFF 到 10FFFF 的有符号增量值。然后将增量编码为一系列字节。小的差异被编码在少量的字节中;更大的差异被编码在连续更大的字节数中。

于 2014-04-17T18:11:48.160 回答