【问题标题】:How to compress ascii text without overhead如何在没有开销的情况下压缩 ascii 文本
【发布时间】:2012-11-24 09:33:33
【问题描述】:

我想压缩小文本(400 字节)并在另一端解压缩。如果我使用 rar 或 zip 之类的标准压缩器来执行此操作,它会将元数据与压缩文件一起写入,并且它比文件本身更大..

有没有办法在没有此元数据的情况下压缩文件并使用已知的提前参数在另一端打开它?

【问题讨论】:

标签: compression zip gzip rar


【解决方案1】:

您可以使用zlib 进行原始放气压缩。这甚至避免了 zlib 格式的六字节标头和尾标。

但是您会发现,仅 400 字节的输入,您仍然不会获得太多压缩(如果有的话)。压缩算法需要比滚动更多的历史,以便建立统计数据并找到数据中的冗余。

您应该考虑使用字典方法,在其中构建一个具有代表性的字符串字典,为压缩器提供一些可以使用的东西,或者您可以考虑将这些 400 字节字符串的序列作为单个流解压缩为在另一端进行流式传输。

【讨论】:

    【解决方案2】:

    您可以查看使用 Huffman 代码的压缩。以here 和here 为例。

    【讨论】:

    • 尝试了霍夫曼算法,从 357 字节的文件将我压缩到 5335 字节。也许我不明白它是如何工作的?我使用了这个实现code.activestate.com/recipes/…
    猜你喜欢
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多