| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 960 人关注过本帖
标题:实现huffman进行数据压缩
只看楼主 加入收藏
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
结帖率:70%
收藏
已结贴  问题点数:20 回复次数:4 
实现huffman进行数据压缩
    附件是两个工程,一个是huffman这个是实现huffman数据压缩的基本实现,使用方法请看文件huffman.h该工程具有通用性,另一个是winFM这个是用前一个工程经过改造而成的,不具备通用性.但是却是一个成品,用MFC经过包装界面也比较可以,可以让大家参考,希望huffman工程里的代码对大家有用(使用的时候把所有.CPP和.H添加到自己的工程里,然后需要使用函数的时候引用'huffman.h"里的两个函数就可以了),函数经过封装,只有编码和解码两个函数而已,使用起来简单.
    再着说明下文件压缩后的格式:扩展名是".fm",文件头两个字节是字母"FM"(用来检验文件格式),然后是原始文件名的长度,再来是原始文件长度(解码的时候判断解码结素),接着是原始文件名,再来是是256个unsigned long的数据表示原始文件每个字母出现的次数(用来重新建立huffman树),最后就是数据了,也就是编码后的数据.
    注意几点是,解码要是.fm的文件才可以,如果输出文件名是NULL,则自动填写文件名,如:a.txt压缩后生成a.fm.
为了遍历huffman树写了个栈,只所以这么麻烦是考虑效率以非第归形式遍历huffman树.
winFM.rar (78.24 KB)
   
huffman.rar (15.19 KB)


[ 本帖最后由 faminxmu 于 2011-3-2 00:33 编辑 ]
搜索更多相关主题的帖子: 使用方法 文件压缩 扩展名 
2011-03-02 00:19
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:10 

   唯实惟新 至诚致志
2011-03-02 07:16
huiming
Rank: 2
等 级:论坛游民
帖 子:31
专家分:36
注 册:2010-4-8
收藏
得分:10 
我也正在做这个
2011-03-02 12:54
lucy1289
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-5
收藏
得分:0 
楼主,您好。可以和您交流一下吗?我现在高压缩遇到了问题,谢谢啦。QQ:565690710
2012-06-05 11:20
末轩杳
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-4-26
收藏
得分:0 
最近纠结huffman tree的data compression,学习了。
2013-04-26 22:24
快速回复:实现huffman进行数据压缩
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018291 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved