c++ - 使用全局词典中的常用短语分别压缩各行文本

标签 c++ c encoding dictionary compression

是否有任何开源库或算法可用于查看文件中各行文本中最常见的短语或单词,并创建一个全局字典,然后用于单独压缩文本行?如果可用的话,代码最好是 C 或 C++ 语言。

我发现这个问题我认为很相似,但没有满足我正在寻找的答案:

compressing a huge set of similar strings

最佳答案

这里需要认识到三件重要的事情。

  1. 用代码替换单词的值(value)取决于它的频率和长度。替换“a”并没有多大值(value),即使它经常出现。

  2. 一旦您确定了最常见的单词,就可以通过查找并排出现的两个常见单词来找到短语。 (在大多数语法中,单词重复相当罕见。)

  3. 然而,文本中最大的冗余来源之一实际上是预测下一个字母所需的位数。根据前面的文本,该值通常约为 2。当基于字母的压缩如此容易时,您真的需要基于单词的压缩吗?

关于c++ - 使用全局词典中的常用短语分别压缩各行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21151621/

相关文章:

c++ - 无效错误包 : C2059, C2143、C2181、C2660

c - strcmp() 来自标准输入的字符串和来自文件的字符串

java - Java中的字节和字符转换

c++ - 从文件中读取和写入字节 (c++)

c++ - 如何在 Qt 中的按钮后面画线?

c - MCU 是否通常被编程为保留其部分 RAM 未使用?

来自 MySQL 数据库的 UTF-8 字符串的 PHP 输出编码问题

ruby-on-rails - Ruby on Rails - 来自 Paypal 的参数 : invalid byte sequence in utf-8

c++ - Ncurses C++ 打印前景色/背景色交换的文本

c++ - for if语句,虽然为true,但是又循环了