前言 哈夫曼编码是一种贪心算法和二叉树结合的字符编码方式,具有广泛的应用背景,最直观的是文件压缩.本文主要讲述如何用哈夫曼编解码实现文件的压缩和解压,并给出代码实现. 哈夫曼编码的概念 哈夫曼树又称作最优树,是一种带权路径长度最短的树,而通过哈夫曼树构造出的编码方式称作哈夫曼编码. 也就是说哈夫曼编码是一个通过哈夫曼树进行的一种编码,一般情况下,以字符 “0” 与 “1” 表示.编码的实现过程很简单,只要实现哈夫曼树,通过遍历哈夫曼树,这里我们从根节点开始向下遍历,如果下个节点是左孩子,则在字符…
这个程序是研一上学期的课程大作业.当时,跨专业的我只有一点 C 语言和数据结构基础,为此,我查阅了不少资料,再加上自己的思考和分析,实现后不断调试.测试和完善,耗时一周左右,在 2012/11/19 完成.虽然这是一个很小的程序,但却是我完成的第一个程序. 源码托管在 Github:点此打开链接 以下为完整的作业报告: 一.问题描述: 名称:基于哈夫曼编码的文件压缩解压 目的:利用哈夫曼编码压缩存储文件,节省空间 输入:任何格式的文件(压缩)或压缩文件(解压) 输出:压缩文件或解压后的原文件 功…
在项目开发中,一些比较常用的功能就是压缩解压文件了,其实类似的方法有许多 ,现将通过第三方类库SharpZipLib来压缩解压文件的方法介绍如下,主要目的是方便以后自己阅读,当然可以帮到有需要的朋友更好了,代码比较简单. public class ZipAndUnzipFileBySharpZipLib    {        /// <summary>        /// 解压文件        /// </summary>        /// <param name=…
距离上次写完哈夫曼编码已经过去一周了,这一周都在写huffman压缩解压,哎,在很多小错误上浪费了很多时间调bug.其实这个程序的最关键部分不是我自己想的,而是借鉴了某位园友的代码,但是,无论如何,自己也是思考,学习,调试了很久,慢慢地清除了一个一个bug.一周的课后时间都花在这上面了,也算有了一点心得吧.下面一一说来吧-- 这个程序有两个最关键的点,一个是上次写的哈夫曼编码,那个是基础,另外一个就是位操作,这个是最关键的,具体来讲位操作就是如何把一个01字符串变成内存中实际存放的0和1, 下面…
SharpZipLib是国外开源加压解压库,可以方便的对文件进行加压/解压 1.下载ICSharpCode.SharpZipLib.dll,并复制到bin目录下 http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx 2.编写工具类ZipUtil,一般放在App_Code文件夹下 using System; using System.Data; using System.Configuration; using System…
转自:http://www.cnblogs.com/asxinyu/archive/2013/03/05/2943696.html 阅读目录 1.前言 2.关于压缩格式和算法的基础 3.几种常见的.NET开源数据压缩组件 4.基本入门使用教程 4.总结与资源        本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 本博客其他.NET开源项目文章目录:[目录]本博客其他.NET开源项目文章目录 回到目录 1.前言 作为吉日嘎拉权限管理系统最早的一批学习版用户,学了不少东西,…
#region 加压解压方法 /// <summary> /// 功能:压缩文件(暂时只压缩文件夹下一级目录中的文件,文件夹及其子级被忽略) /// </summary> /// <param name="dirPath">被压缩的文件夹夹路径</param> /// <param name="zipFilePath">生成压缩文件的路径,为空则默认与被压缩文件夹同一级目录,名称为:文件夹名+.zip<…
首先进入文件夹 cd /home/ftp2/1520/web 压缩方法一:压缩web下的888.com网站 zip -r 888.com.zip888.com 压缩方法二:将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. zip -r myfile.zip ./* 解压unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况下覆盖文件:-d:-d /ho…
压缩篇: 把/usr/webgames目录下的文件打包.命名为bak.tar.gz 放到/usr/db-bak目录里 下面命令可以在任意目录执行.无视当前目录和将要存放文件的目录.tar -zcvf /usr/db-bak/bak.tar.gz /usr/webgames 当用户在/usr/db-bak/目录的时候.可以使用下面这条命令.tar -zcvf bak.tar.gz /usr/webgames 当用户在/usr/webgames目录的时候.可以使用下面这条命令.tar -zcvf /…
根据minizip改写的模块,需要zlib支持 输出的接口: #define RG_ZIP_FILE_REPLACE 0 #define RG_ZIP_FILE_APPEND 1 //压缩文件夹目录,递归压缩 //szDir是需要压缩的目录,dstLevel是压缩的目录在压缩包里面的层次标识 //可直接指定"" //szZipFile压缩包的文件名 //replaceFlag指定替换或者是追加进压缩包 int DoZipDir(const char* szDir, const char…
查看visualization1.5.tar.gz 压缩包里面的内容: $ tar -tf visualization1.5.tar.gz 解压指定文件JavascriptVisualRelease/BFS.html到/home目录下 $ tar -zxvf visualization1.5.tar.gz JavascriptVisualRelease/BFS.html -C /home/(错误) $ tar -zxvf visualization1.5.tar.gz  -C /home/ Ja…
一般来说ubuntu 下带有tar 命令,可以用来解压和压缩之用.但是我们经常要与win下用户打交道,所以要安装一些解压工具如:rar zip 等命令. 如果要需要用到zip工具那么可以: sudo apt-get install zip 如果要用到rar,同理 suod apt-get install rar 具体tar命令用法请看参考 下面讲讲zip怎么使用的 把所有的my1*.doc的文件打包成new1.zip zip new1.zip my1*.doc 注意:new1.zip 可以省略扩…
原文地址:http://blog.csdn.net/feibendexiaoma/article/details/73739279,转载主要方便随时查阅,如有版权要求,请及时联系. ZIP zip是比较常用的文档压缩格式,最大的有点是跨平台,缺点是支持的压缩率不是很高. 压缩 #zip -r studio.zip directory_to_compress 解压 #unzip studio.zip TAR 好处是只消耗非常少的CPU及时间打包,只是一个打包工具,并不负责压缩. #tar -cvf…
<?php include_once('pclzip.lib.php'); $archive = new PclZip('archive.zip'); /* $v_list = $archive->create('readme.txt,gnu-lgpl.txt'); if ($v_list == 0) { die("Error : ".$archive->errorInfo(true)); } */ $list = $archive->extract(PCLZI…
using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Text; using static System.Console; //使用流处理文件 //FileStream //读取器和写入器 //StreamReader StreamWriter //读写二进制文件 //BinaryReader BinaryWriter //压缩流 //使…
NuGet引用官网自带的System.IO.Compression.ZipFile; var filename = "测试压缩解压文件"; var path = Directory.GetCurrentDirectory() + "/wwwroot/file/" + filename + ".pdf"; //这里是获取到文件的byte数组 byte[] fileBuffer1 = Convert.FromBase64String(invData)…
最近在写的程序与SOAP相关,所以用到了一些Base64编码/解码及数据压缩/解压方面的知识. 在这里来作一些总结:   一.Base64编码/解码   一般用到的是Delphi自带的单元EncdDecd,当然还有第三方提供的单元或控件,其中我所接触到的认为比较好的有Indy的TIdMimeEncode / TIdMimeDecode组件,以及RjMime单元.   在这里主要想讲讲如何才能获得最好的编码/解码性能,EncdDecd提供了EncodeStream/DecodeString, En…
JPEG文件编/解码详解(1) JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写.它由国际电话与电报咨询委员会CCITT(The International Telegraph and Telephone Consultative Committee)与国际标准化组织ISO于1986年联合成立的一个小组,负责制定静态数字图像的编码标准. 小组一直致力于标准化工作,开发研制出连续色调.多级灰度.静止图像的数字图像压缩编码方法,即JPEG算法.…
压缩.解压缩及归档工具有很多,今天小编就整理几个大家较为常用的. compress gzip  bzip2 xz zip tar cpio 一.压缩.解压工具 用法 压缩 工具 压缩后 压缩包格式 解压缩 (默认不保留源文件) 保留原文件压缩 -c :将压缩结果打印到屏幕上 保留压缩文件解压 *zcat :将解压结果打印到屏幕上 强制压缩(默认不压缩硬链接) 显示详细过程 压缩比 -#(数字越大,压缩比越高,速度越慢 文件越小) compress (压缩比最小,文件最大) .Z -d uncom…
目录 (1)zip 压缩.解压缩及归档工具有很多,今天小编就整理几个大家较为常用的. compress gzip  bzip2 xz zip tar cpio 一.压缩.解压工具 用法 压缩 工具 压缩后 压缩包格式 解压缩 (默认不保留源文件) 保留原文件压缩 -c :将压缩结果打印到屏幕上 保留压缩文件解压 *zcat :将解压结果打印到屏幕上 强制压缩(默认不压缩硬链接) 显示详细过程 压缩比 -#(数字越大,压缩比越高,速度越慢 文件越小) compress (压缩比最小,文件最大) .…
为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar.zip和7z,本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库. 在C#.NET中压缩解压rar文件 rar格式是一种具有专利文件的压缩格式,是一种商业压缩格式,不开源,对解码算法是公开的,但压缩算法是私有的,需要付费,如果需要在您的商业软件中使用rar格式进行解压缩,那么你需要为rar付费,rar在国内很流行是由于盗版的存在,正因为算法是不开源的,所以我们压缩rar并没…
打包举例:将 /usr/local/src/zlib-1.2.5目录下的文件打包成 zlib-1.2.5.tar.gz cd /usr/local/src tar -czvf ./zlib-1.2.5.tar.gz ./zlib-1.2.5/* # 压缩到制定目录下(如:/root/2/ ) tar -czvf /root/2/zlib-1.2.5.tar.gz ./zlib-1.2.5/* #压缩 tar  -czvf   ***.tar.gz tar  -cjvf   ***.tar.bz2…
压缩解压 ------------------------------------------ linux 下所有的压缩格式,WinRAR 都支持 gzip .gz 格式 压缩文件: gzip 文件名 特点: 1.只能压缩文件,不能压缩目录 2.不保留原文件 3.不用指定生成的新文件名 解压: gunzip 文件名 或 gzip -d 文件名 tar 把目录打包成一个文件,后缀名是 .tar 打包后,可以再压缩,就是 .tar.gz 网上的源代码包,经常就是这个格式 -c 创建打包文件 必选项 …
SAPCAR 是 SAP 公司使用的压缩解压软件,从 SAP 网站下载的补丁包和小型软件基本都是扩展名为 car 或 sar 的,它们都可以用 SAPCAR 来解压.下面是它的使用说明: 用法: 创建新档案:SAPCAR -c[vir][f archive] [-P] [-C directory]   [-A filename] [-T filename] [-X filename]   [-p value] [-V] file1 file2 ... 列出一个档案的内容:SAPCAR -t[vs…
AES 压缩解压 压缩加密解密解压 对称加密: 就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密.密钥是控制加密及解密过程的指令.算法是一组规则,规定如何进行加密和解密.   因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要.因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题.     由此可见密钥传递也是比较重要的一环,一般都是通过对密钥二次加密的方式,进行密钥的传输   加密实现代码:   public static byte[…
(1)gzip gzip命令用于压缩文件,英文原意为GNU zip,所在路径/bin/gzip,其语法格式为: gzip [文件] 压缩后的文件格式为.gz. 例:将/etc目录下的services文件拷贝至/tmp目录,并采用gzip进行压缩. [root@localhost tmp]# cp /etc/services services [root@localhost tmp]# ls services [root@localhost tmp]# gzip services [root@lo…
1.zip  1) 将文件夹 mydir 压缩为 mydir.zip zip -r mydir.zip mydir 2) 将文件 one.two 压缩到 ot.zip zip -r ot.zip one two 3) 将 mydir.zip 解压为 mydir a. unzip mydir.zip -d anotherdir(解压到anotherdir目录,-d 当前目录没有anotherdir时,创建anotherdir文件,将mydir.zip解压的文件放到anotherdir)   b.…
需要引用一个ICSharpCode.SharpZipLib.dll using System; using System.Collections.Generic; using System.Linq; using System.Text; using ICSharpCode.SharpZipLib.Zip; using System.IO; using ICSharpCode.SharpZipLib.Checksums; using System.Web; namespace Mvc51Hiri…
压缩解压命令:gzip(压缩文件,不保留原文件.这个命令不能压缩目录) 压缩解压命令:gunzip(解压.gz的压缩文件) 压缩解压命令:tar(打包压缩目录或者解压压缩文件.打包的意思是把目录打包成一个文件,不等同于压缩.tar命令可以在打包的同时进行压缩,得到.tar.gz文件) 压缩解压命令:zip(压缩文件或者目录,会保留原文件) 压缩解压命令:unzip(解压.zip的压缩文件) 压缩解压命令:bzip2(压缩文件) 压缩解压命令:bunzip2(解压.bz2的文件)…