全文预览

用C 实现Huffman文件编码和解码

上传者:相惜 |  格式:doc  |  页数:13 |  大小:657KB

文档介绍
ode[i]-'0',snBitPointer);50}51}BittoByte1/*2ReadByteBitFunction3201310054*/56voidReadBitFromByte(constcharByte,char*buf=NULL)7{8if(buf==NULL)9return;10intnTmpVal=1;11intnAndResult;12for(inti=0;i<8;++i)13{14nTmpVal<<=i;15nAndResult=nTmpVal&Byte;16buf[i]='0'+!!nAndResult;17nTmpVal=1;//thisisprretyimportant18}19}20/*21还是写中文注释吧22这个函数是用于将从文件读出来的二进制信息取出来,并存放到字符串中。23返回值就是读出来的位数的长度24*/2526intReadBitToBuffer(constchar*ReadBuf,intnByteNumber,char*OutputBuf,intnOBufLength)27{28if(nOBufLength<nByteNumber*8)29return0;30for(inti=0;i<nByteNumber;i++)31{32ReadBitFromByte(ReadBuf[i],OutputBuf+8*i);33}34returnnByteNumber*8;35}刚才看了看自己写的一部分代码,感觉,还真的感觉到了代码中有不少自己的努力和智慧。代码就不全贴了,内容就这么多,都是最基础的操作。不过此番之后,我觉得,我已经有能力编写压缩文件程序了,至少数据压缩存储这一块,我有了最基础的技术。看下解码效果:简单提下:我的解压文件字符没问题,但是为什么有些符号却不一样?你可以看到,最后的输出的结果是有些许不同的,这令我很费解~源文件:

收藏

分享

举报
下载此文档