【问题标题】:Trying to generate a uniquely decodable code and decode it尝试生成唯一可解码的代码并对其进行解码
【发布时间】:2012-10-11 23:58:19
【问题描述】:

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

我想对任意符号进行压缩,我真的不知道我正在寻找一个唯一可解码的代码,也许是算术代码或规范的霍夫曼代码?

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

【问题讨论】:

    标签: compression huffman-code entropy


    【解决方案1】:
    1. 编码

      1. 为每个符号生成频率表
      2. 根据此频率表生成概率树
      3. 生成代码表 - 使最常见的符号获得最小的位串
      4. 输出:[频率表+位串序列(首尾相连)]

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

    2. 解码

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

        1. 解析位串
        2. 与代码表匹配
        3. 输出匹配符号

    【讨论】:

      猜你喜欢
      • 2010-11-28
      • 2011-06-15
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 2019-10-04
      相关资源
      最近更新 更多