尝试生成唯一可解码的代码并对其进行解码

时间:2012-10-11 23:58:19

标签: compression huffman-code entropy

我正在尝试将任意符号编码为位字符串,我真的不明白如何生成它们甚至解码包含这些符号的位字符串。

我想处理任意符号进行压缩,我真的不知道我正在寻找的是一个单一的可解码代码,可能是算术代码还是规范的霍夫曼代码?

对于任何大小的符号表,我只需要一个位字符串列表,描述最频繁到最不频繁的字符串。

1 个答案:

答案 0 :(得分:0)

  1. 编码

    1. 为每个符号生成频率表
    2. 基于此频率表生成概率树
    3. 生成代码表 - 使得最常见的符号获得最小的位字符串
    4. 输出:[频率表+位串序列(端对端放置)]

      需要注意的重要一点是,这些位串的序列可以稍后由它们自己直接隔离。即说[10010001] => {100,1000,1}(仅举例)

  2. <强>解码

    1. 获取频率表&amp;位串序列。
    2. 生成概率树(与1.2相同)
    3. 生成代码表(与1.3相同)
    4. 重新创建数据:

      1. Parse Bit-String
      2. 与代码表匹配
      3. 输出匹配的符号