zip压缩字节流 c语言,用C语言编写程序实现Zip或者Rar无损压缩算法

用C语言编写程序实现Zip或者Rar无损压缩算法

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

*                                                                  *

*HUFF.C Huffman encode for multimedia application 8*8 pixel Ver 3  *

*                                                                  *

*Ver 1:  Complied in Borland Turbo C++ 3.0                         *

*Ver 2:  Complied in Microsoft Visual C++ 6.0                      *

*Ver 3:  Complied in Microsoft Visual C++ 6.0                      *

*          add code to print code table of the compression         *

*          print output message in Chinese                         *

*                                                                  *

*by Lee Meitz, Solid Mechanics, Huazhong Univ of Sci and Tech      *

*2001.11.15 - 2001.12.27                                           *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#include

#include

#include

#define  DNUM 64    //define data number 8*8

#define  LOOP 10000 //times of compression

typedef struct

{

unsigned short weight, data;

unsigned short parent, lchild, rchild;

} HuffNode;

typedef struct

{

unsigned char code;

unsigned short codelength;

} HuffCode;

unsigned int fCount[256] = {0};

unsigned int data_num;

unsigned int code_size;

unsigned int last_bit;

void FrequencyCount(unsigned char*);         //频率统计

void HuffSelect(HuffNode*, int, int*, int*); //从结点中选出权最小的两个节点

void HuffmanCodeTable(HuffNode*, HuffCode*); //构造huffman树,生成huffman编码表

void HuffmanCompress(unsigned char*, unsigned char *, HuffCode*); //压缩数据

void BitPrint(unsigned char*);               //按位打印结果,用于调试

void main()

{

int i, j, l

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值