多媒体压缩软件
格式工厂简介

格式工厂简介
格式工厂是一款功能强大的多媒体压缩、转换、优化的软件,其功能包括视频、音频、图片、文档等媒体文件的转换,压缩和优化,它可以将媒体文件转换为丰富多彩的格式,并可以通过分辨率、帧率、比特率等设置进行微调,以适应不同的应用环境,可以说格式工厂的功效是无与伦比的。
格式工厂的优势在于操作非常简单快捷,只需简单的几个操作就可以完成文件转换,并可以在转换过程中调整影像质量,视频尺寸,画质等参数以达到最佳质量。
另外,格式工厂还具有抖音视频、微信视频、PPT视频及其它更多转换格式,更加方便使用者。
此外,格式工厂可以转换媒体文件的格式,还可以进行文件的压缩,这能大大节约磁盘空间,提高文件的传输速度,使文件在网络传输中的传输速度更快。
此外,可以将文件的大小减小,以减小占用设备的存储空间,以及提高文件的传输效率,也可以使文件变得更美观,更易于使用。
另外,格式工厂还具有强大的音频优化功能,除了支持绝大多数音频文件的转换,还可以改变音频文件的码率、采样率、声道等参数,将音频文件优化到最佳状态。
同时,格式工厂还支持更基础的编辑功能,包括剪切,优化,加密等,为用户提供更丰富的使用体验。
总而言之,格式工厂是一款强大的多媒体压缩、转换、优化工具,其功能不仅可以转换媒体文件,也可以将文件压缩至最佳的状
态,进行音频优化等,可以说格式工厂为用户提供了便捷而安全的文件转换及优化方案。
常见的多媒体制作软件工具

常见的多媒体制作软件工具有哪些1、PowerPoint:PowerPoint是微软公司出品的幻灯片制作工具,Office成员之一。
它是基于帧式的多媒体制作工具,从Office 95开始有了中文版,使用较为简便,对各种媒体的支持非常丰富,并且和Office其他成员配合紧密。
2、Authorware:Authorware是Macromedia公司出品的,基于图标的多媒体制作工具。
当初2.0版曾有过中文版,但功能弱于2.0英文版,目前有汉化版。
由于它较早进入教育界,一度曾是课件开发工具的代名词,但随着许多其他工具的问世,它的地位好像已有所降低。
3、Flash:它也是Macromedia公司出品的,但是基于时间线的多媒体制作工具,目前有汉化版。
由于是矢量动画,放缩时不会失真,而且文件短小,适合网络传输,因此在网络上应用广泛,和Macromedia公司的Dreamreaver等软件配合良好。
二、比较1、所支持的媒体格式:目前多媒体素材的格式较多,常见的就有一二十种,这三款软件都能导入常见的多媒体素材。
a、图片:三款软件都提供了对常见图形图像文件的支持,其中以PowerPoint支持的格式最多。
在导入文件时,PowerPoint和Authorware都提供了预览功能,而Flash虽然不能预览,却能一次导入多个图片,还可以自动识别图片序列并分布到各个帧上。
对于导入的位图文件,PowerPoint提供了图片工具栏,可以进行简单的调整。
而且PowerPoint和Flash都可以对导入的矢量图进行编辑。
值得一题的是,对于Gif动画,PowerPoint2000可以在播放的时候显示出动画(97版则不可以),Flash可以将Gif的各个帧分布到时间线上,Authorware从5.1版开始可以直接插入Gif动画(以前则需要用特效函数才能播放)。
此外,PowerPoint还包括了素材库(即Office附带的剪贴画)。
b、视频和声音:对于声音,PowerPoint可以直接播放,视频文件利用相应的Active控件进行播放和控制。
第3章《多媒体数据压缩技术》练习思考题答案

第1章《多媒体技术概论》思考练习题答案填空题:1、国际电讯联盟(ITU)将媒体分为五大类,分别为感觉媒体、表示媒体、表现媒体、存储媒体、传输媒体。
2、多媒体技术中所说的媒体一般指感觉媒体,图像编码应属表示媒体。
3、多媒体信息的主要特点包括信息媒体的多样性、集成性、交互性、实时性,还有数据的海量性、媒体信息表示的空间性和方向性等。
4、多媒体技术的发展历程大致可分为三个阶段,即启蒙发展阶段、标准化阶段、普及应用阶段。
5、ISO和ITU联合制定的数字化图像压缩标准主要有JPEG标准、MPEG系列标准、H.26X 标准。
简答题:1、什么是多媒体?答:从多媒体技术专业角度讲,可理解为:多媒体的“多”是其多种媒体的表现,多种感官的作用,多种设备的使用,多学科的交汇,多领域的应用;“媒“是指人与客观世界的中介;“体”是言其综合、集成一体化。
2、什么是多媒体技术?答:是指多媒体信息的数字化、设计与制作技术、及各种媒体集成一体化,经数据压缩处理和存储,并由新传播媒介发布的具有交互性的多媒体信息技术。
3、JPEG标准(ISO/IEC 10918标准)?答:适用彩色和单色、多灰度连续色调、静态图像压缩国际标准。
4、MPEG-1(ISO/IEC 11172标准)?答:用于数字运动图像,其伴音速率为1.5Mbps的压缩编码。
5、我国国家信息产业部批准成立的数字音频视频的编码技术标准工作组(A VS)的主要工作是什么?答:开展具有自主产权的数字音视频产业的共性基础标准的研究。
并面向我国的信息产业需求,制定数字音视频的压缩、解压缩、处理和表示等共性技术标准A VS,服务于数字音视频产业应用。
第二章多媒体数据压缩技术复习思考题答案填空题:1、多媒体数据能不能被压缩,关键是多媒体数据中是否存在“_____”,即“多媒体数据压缩的可能性”。
答:数据冗余2、“信息量”与“数据量”之间的关系是__________。
答:信息量=数据量-冗余量3、多媒体数据冗余信息包括____、_____、_____、____、____、_____、_____、图像区域的相同性冗余、其它冗余。
多媒体数据常用压缩标准

MPEG(Motion Picture Experts Group )标准是ISO/IEC委员会针对全活动视频 的压缩标准系列,包含MPEG-1、MPEG-2 、MPEG-4、MPEG-7、MPEG-21等。
MPEG-1:适用于传输速率为1.5Mbps的数字电视标
准,91年提出草案,93年8月公布
JPEG确定的图像压缩标准的目标是:
编码器应该可由用户设置参数,以便用 户在压缩比和图像质量之间权衡折衷
标准可适用任意类连续色调的数字静止 图像,不限制图像的景像内容
计算复杂度适中,只需一定能力的CPU 就可实现,而不要求很高档的计算机,复 杂的软件本身要易于操作
定义了两种基本压缩编码算法和4种编码 模式
MPEG-2:适用于传输速率为10Mbps 的数字电视标
准,93年提出草案,94年11月公布
MPEG-3:适用于传输速率为40Mbps 的数 字电视标
准,已被MPEG-2取代
MPEG-4:1999年12月公布的多媒体应用标准
MPEG-7:多媒体内容描述接口标准,98年提出,2001
年完成并公布
MPEG-21:正式名称是Multimedia Framework(多媒体
终形成清晰的图像。
下面是顺序模式和渐进模式的示意图
顺序模式 渐进模式
无失真编码模式 采用一维或二维的空间域
DPCM和熵编码。由于输入图像已经是数字化 的,经过空间域的DPCM之后,预测误差值也 是一个离散量,因此可以不再量化而实现无失 真编码。
分层编码模式 这是对一幅原始图像的空间
分辨率,分成多个分辨率进行“锥形”的编码方 法,水平(垂直)方向分辨率的下降 以2的倍数因子改变,先对分辨率最 低的一层图像进行编码,然后将经 过内插的该层图像作为下一层图像 的预测值,再对预测误差进行编码,
第5部分 多媒体判断题

第5部分多媒体判断题(1) .[T]AVI是指音频、视频交互文件格式。
(2) .[T]集成性和交互性是多媒体技术的特征。
(3) .[F]放像机可播放多媒体节目,故放像机称为多媒体机。
(4) .[F]多媒体数据的传输速度是多媒体的关键技术。
(5) .[T]MIDI文件和WAV文件都是计算机的音频文件。
(6) .[F]超媒体就是节点加多媒体信息。
(7) .[T]多媒体的实质是将不同形式存在的媒体信息(文本、图形、图像、动画和声音)数字化,然后用计算机对它们进行组织、加工并提供给用户使用。
(8) .[F]Windows下不需安装相应的多媒体外部设备驱动程序就可以操作某种特定的多媒体文件。
(9) .[F]多媒体计算机就是安装光盘驱动器、音频卡和视频卡的微型计算机。
第5部分多媒体单选1.[C]目前多媒体计算机中对动态图象数据压缩常采用______。
(A)JPEG(B)GIF(C)MPEG(D)BMP2.[B]多媒体技术发展的基础是______。
(A)数据库与操作系统的结合(B)通信技术、数字化技术和计算机技术的结合(C)CPU的发展(D)通信技术的发展3.[C]扩展名为_________的演示文稿文件,不必直接启动PowerPoint即可浏览。
(A).PPT(B).POT(C).PPS(D).POP4.[B]所谓表现媒体,指的是______。
(A)使人能直接产生感觉的媒体(B)用于体现感觉媒体和表示媒体的I/O设备(C)传输感觉媒体的物理载体(D)用于存储表示媒体的介质5.[B]按Microsoft等指定的标准,多媒体计算机MPC由个人计算机、CDROM驱动器、______、音频和视频卡、音响设备等五部分组成。
(A)鼠标器(B)Windows操作系统(C)显示卡(D)触摸屏6.[D]多媒体PC是指______。
(A)能处理声音的计算机(B)能处理图像的计算机(C)能进行通信处理的计算机(D)能进行文本、声音、图像等多媒体处理的计算机7.[A]所谓媒体是指______。
WINRAR压缩软件的使用方法

WINRAR压缩软件的使用方法WinRAR是一个文件压缩管理共享软件,由Eugene Roshal(所以RAR的全名是:Roshal ARchive)开发。
首个公开版本RAR 1.3发布于1993年。
Pocket RAR 是为Pocket PC平台发布的免费软件。
它是仅有的几个可以读写RAR文件的软件之一,因为它保留版权。
Eugene Roshal,1972年3月10日生于俄罗斯。
毕业于俄罗斯车里雅宾斯克工业大学(Chelyabinsk Technical University),也是FAR文件管理器的作者。
他开发程序压缩/解压RAR文件,最初用于DOS,后来移植到其它平台。
主要的Windows版本编码器,称为WinRAR,以共享软件的形式发行。
不过Roshal公开了解码器源码,UnRAR解码器许可证允许有条件自由发布与修改(条件:不许发布编译RAR兼容编码器)。
而RAR编码器一直是有专利的。
最近的开发者是Alexander Roshal。
虽然其解码器有专利,编译好的解压程序仍然存在于若干平台,例如开源的7-Zip。
尽管业界普遍混乱,似乎没有纯开源模块能解压版本超过2.0的RAR文件WinRAR 内置程序可以解开CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO、Z和7Z等多种类型的档案文件、镜像文件和 TAR 组合型文件;具有历史记录和收藏夹功能;新的压缩和加密算法,压缩率进一步提高,而资源占用相对较少,并可针对不同的需要保存不同的压缩配置;固定压缩和多卷自释放压缩以及针对文本类、多媒体类和 PE 类文件的优化算法是大多数压缩工具所不具备的;使用非常简单方便,配置选项也不多,仅在资源管理器中就可以完成你想做的工作;对于 ZIP 和 RAR 的自释放档案文件,点击属性就可以轻易知道此文件的压缩属性,如果有注释,还能在属性中查看其内容;对于 RAR 格式(含自释放)档案文件提供了独有的恢复记录和恢复卷功能,使数据安全得到更充分的保障。
多媒体数据压缩

多媒体数据压缩
多媒体数据压缩是指通过一系列算法和技术,将多媒体数据以
更小的尺寸进行存储或传输的过程。
多媒体数据主要包括图像、音
频和视频等形式。
压缩多媒体数据可以减少存储空间和传输带宽的
需求,从而提高数据的传输效率和用户体验。
常见的多媒体数据压缩方法有以下几种:
1. 图像压缩:常见的图像压缩算法有无损压缩和有损压缩两种。
无损压缩方法包括Run-length Encoding (RLE)、LZW和Huffman编码等;有损压缩方法如JPEG使用了离散余弦变换(DCT)和量化等技术,通过牺牲一定的图像质量来实现较高的压缩率。
2. 音频压缩:音频压缩方法主要有无损压缩和有损压缩两种。
无损压缩方法如FLAC和ALAC能够将音频数据压缩到更小的文件大
小且不损失音频质量;有损压缩方法如MP3和AAC利用了人耳的听
觉特性,通过减少对听觉上不敏感的部分数据来实现较高的压缩率。
3. 视频压缩:视频压缩方法通常采用有损压缩。
常见的视频压缩标准包括MPEG-2、MPEG-4和H.264等。
视频压缩技术主要利用了时域和空域的冗余性,以及运动补偿、帧间预测等技术,通过减少冗余信息和丢弃一些不重要的细节来实现高效的压缩。
多媒体数据压缩对于互联网、移动通信、存储设备等领域都非常重要,可以大大提升数据的传输速度和存储效率。
但也会牺牲一定的数据质量,在实际应用中需要根据具体需求权衡压缩率和数据质量。
如何进行多媒体数据的压缩和解压缩

如何进行多媒体数据的压缩和解压缩随着互联网技术的不断发展,越来越多的多媒体数据被广泛应用于我们的生活和工作中,如音频、视频、图像等。
然而,多媒体数据在传输和存储中会面临一个共同的问题——数据量庞大,传输速度慢,占用存储空间大,难以实现高效传输和存储。
因此,多媒体数据的压缩和解压缩技术逐渐成为了一个热门的技术领域,本文将从多媒体数据的压缩和解压缩方法、应用场景等角度进行介绍和探讨。
一、多媒体数据的压缩和解压缩方法1. 有损压缩方法有损压缩方法是指在压缩过程中通过舍弃部分信息来达到减小数据体积的目的。
常见的有损压缩方法包括JPEG、MPEG、MP3等。
JPEG是一种用于图像数据的有损压缩方法,通过减少图像信号的细节来压缩数据,但在大多数情况下可以得到令人满意的图像质量。
MPEG是一种用于视频、音频数据的有损压缩方法,其中MPEG-1和MPEG-2用于广播和储存,MPEG-4用于网络和移动设备等。
2. 无损压缩方法无损压缩方法是指在压缩数据时不删除或改变任何原始数据的信息,通过利用一些算法和编码来压缩数据,从而实现减小数据体积的目的。
常见的无损压缩方法包括PNG、GIF等。
PNG是一种无损压缩图像格式,它对比JPEG格式有更好的压缩比率以及更好的图像质量,但它的压缩时间比JPEG更长;GIF是一种广泛应用于动画制作的无损压缩格式,它适用于一些图像层数较少且颜色比较少的动画制作。
二、多媒体数据的应用场景1. 视频监控视频监控技术在现代社会中的应用广泛,如安全监控、交通监控等。
但视频数据量往往很大,如果不进行压缩就难以进行高效的存储和传输,因此在视频监控中采用了MPEG、H.264等视频压缩标准。
2. 医学影像医学影像在医疗诊断中起着至关重要的作用,例如CT、MRI、X光等影像数据。
这些数据通常非常大,使用压缩技术可以减少数据存储空间,提高数据传输效率,有助于快速进行医疗影像分析,优化医疗诊断流程。
3. 音频娱乐音频娱乐是现代社会中不可或缺的一部分,如音乐、广播、电视等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多媒体实验报告压缩及解压软件学院:计算机学院用哈夫曼编码设计压缩软件一.问题描述用哈夫曼编码设计一个压缩软件,能对输入的任何人类型文件进行哈夫曼编码,产生编码后的文件——压缩文件;也能对输入的压缩文件进行译码,生成压缩前的文件——解压文件。
二.基本要求要求编码/译码效率尽可能高。
三.工具/准备工作在开始做课程设计项目前,回顾或复习相关内容。
工作平台:DELL Inspiron N5010笔记本电脑安装有Dev-C++。
四.分析与实现哈夫曼树类模板“HuffmanTree.h”,哈夫曼树结点类模板“HuffNode.h”,结点类模板“node.h”,线性链表类模板“lk_list.h”,串类“String.h”,实用程序软件包“utility.h”,都由辅导老师给出。
下面是用哈夫曼编码压缩及解压的实现,即核心代码:使用哈夫曼编码可以对文件进行压缩,由于字符的哈夫曼编码以比特位单位,而当将哈夫曼以压缩文件进行存储时,压缩文件最少以字节为单位进行存储,因此需要定义字符缓存器,以便自动将比特转换为字节,具体定义如下:#ifndef __MYHUFFMAN_COMPRESS_H__#define __MYHUFFMAN_COMPRESS_H__#include"HuffmanTree.h"//字符缓存器structBufferType{char ch; //字符unsigned int bits; //实际比特数};下面是哈夫曼压缩类代码,具体声明如下://哈夫曼压缩类class MyHuffmanCompress{protected://哈夫曼压缩类的数据成员:HuffmanTree<char,unsigned long>*pMyHuffmanTree;FILE *infp,*outfp; //输入输出文件BufferTypebuf; //字符缓存//辅助函数:void Write(unsigned int bit); //向目标文件中写入一个比特 void WriteToOutfp(); //强行将字符缓存写入目标文件public://哈夫曼压缩类方法声明及重载编译系统默认方法声明:MyHuffmanCompress(){}//无参数的构造函数~MyHuffmanCompress(){} //析构函数void Compress(); //压缩算法void Decompress(); //解压缩算法};//相关函数unsigned intCharIndex(const char &ch); //字符位置映射辅助函数Write用于一次性将字符缓存中写入一个比特,当缓存器中的比特数为8时,将缓存中的字符写入目录文件中,具体实现如下:void MyHuffmanCompress::Write(unsigned int bit)//操作结果:向目标文件中写入一个比特{buf.bits++; //缓存比特数自增 1buf.ch=(buf.ch<<1)|bit; //将 bit 加入到缓存字符中 if(buf.bits==8){ //缓存区已满,写入目标位文件fputc(buf.ch,outfp); //写入目标文件buf.bits=0; //初始化 bitbuf.ch=0; //初始化 ch}}辅助函数WriteToOutfp用于在哈夫曼编码结束时,强行将缓存写入目标文件中,具体实现如下:void MyHuffmanCompress::WriteToOutfp()//操作结果:强行将字符缓存写入目标文件{unsigned intlen=buf.bits; //缓存实际比特数if(len>0){ //缓存非空,将缓存的比特个数增加到 8,自动写入到目标文件for(unsigned int i=0;i<8-len;i++)Write(0);}}压缩操作Compress首先要求用户输入源文件与目录文件名,然后统计源文件中各字符出现的频度,以字符出现频度为权,建立哈夫曼树,再将源文件大小和各字符出现的频度写入目标文件中,最后对源文件中各字符进行哈夫曼编码,将编码以比特为单位写入到目标文件,具体实现如下:void MyHuffmanCompress::Compress()//操作结果:用哈夫曼编码压缩文件{char infName[256],outfName[256]; //输入(源)输出(目标)文件名cout<<"Please input the name of source file(sizeof file <4GB): ";//被压缩文件小于 4 GBcin>>infName; //输入源文件名if((infp=fopen(infName,"rb"))==NULL)throw Error("Open source file Failed!");//抛出异常fgetc(infp); //取出源文件第一个字符if(feof(infp))throw Error("Empty File!"); //抛出异常cout<<"Please input the name of objective File: ";cin>>outfName;if((outfp=fopen(outfName,"wb"))==NULL)throw Error("Open Failed!");//抛出异常cout<<"processing,please wait..."<<endl;const unsigned long n=256; //字符个数char ch [n]; //字符数组unsigned long w[n]; //字符出现频度(权)unsigned long i,size=0;char cha;for(i=0;i<n;i++){ch[i]=(char)i; //初始化 ch[i]w[i]=0; //初始化 w[i]}rewind(infp); //使源文件指针指向文件开始处cha=fgetc(infp); //取出源文件第一个字符while(!feof(infp)){ //统计字符出现频度w[(unsigned char) cha]++; //字符 cha出现频度自加 1 size++; //文件大小自加 1cha=fgetc(infp); //取出源文件下一个字符}// if(pMyHuffmanTree!=NULL)delete[]pMyHuffmanTree; //释放空间pMyHuffmanTree=new HuffmanTree<char,unsigned long>(ch,w,n);//生成哈夫曼树rewind(outfp); //使源文件指针指向文件开始处fwrite(&size,sizeof(unsigned long),1,outfp);//向目标文件写入源文件大小for(i=0;i<n;i++){ //向目标文件写入字符出现频度fwrite(&w[i],sizeof(unsigned long),1,outfp);}buf.bits=0; //初始化 bitsbuf.ch=0; //初始化 chrewind(infp); //使源文件指针指向文件开始处cha=fgetc(infp); //取出源文件第一个字符while(!feof(infp)){ //对源文件字符进行编码,并将编码写入目标文件String strTmp=pMyHuffmanTree->Encode(cha); //字符编码for(i=0;i<strTmp.Length();i++){ //向目标文件写入编码if(strTmp[i]=='0')Write(0); //向目标文件写入 0 else Write(1); //向目标文件写入 1}cha=fgetc(infp); //取出源文件下一个字符 }WriteToOutfp(); //强行写入目标文件fclose(infp);fclose(outfp); //关闭文件cout<<"Processed!"<<endl;}对于解压缩操作DeCompress,同样地首先要求用户输入压缩文件与目标文件名,然后从压缩文件中读入源文件的大小以及各字符出现的频度,以字符出现频度为权建立哈夫曼树,再对压缩文件的各字节进行译码,并将译码后的字符写入目标文件中,具体实现如下:void MyHuffmanCompress::Decompress()//操作结果:解压缩用哈夫曼编码压缩的文件{char infName[256],outfName[256]; //输入(压缩)输出(目标)文件名cout<<"Please input the name of compressed file: ";cin>>infName;if((infp=fopen(infName,"rb"))==NULL)throw Error("Open Failed!");//抛出异常fgetc(infp); //取出压缩文件第一个字符if(feof(infp))throw Error("Empty File"); //抛出异常cout<<"Please input the name of objective File: ";cin>>outfName;if((outfp=fopen(outfName,"wb"))==NULL)throw Error("Open Failed!");//抛出异常cout<<"processing,please wait..."<<endl;const unsigned long n=256; //字符个数char ch[n]; //字符数组unsigned long w[n]; //权unsigned long i,size=0;unsigned char cha;rewind(infp); //使源文件指针指向文件文件开始处fread(&size,sizeof(unsigned long),1,infp); //读取目标文件的大小for(i=0;i<n;i++){ch[i]=(char)i; //初始化 ch[i]fread(&w[i],sizeof(unsigned long),1,infp); //读取字符频度}if(pMyHuffmanTree!=NULL)delete[]pMyHuffmanTree; //释放空间pMyHuffmanTree =new HuffmanTree<char,unsigned long>(ch,w,n);//生成哈夫曼数unsigned long len=0; //解压的字符数cha=fgetc(infp); //取出源文件的第一个字符String strTmp=""; //将 cha转换二进制形式的串while(!feof(infp)){ //对压缩文件字符进行译码,并将解码的字符写入目标文件unsigned char c=(unsigned char)cha;//将 cha转换为 unsigned char类型 for(i=0;i<8;i++){ //将 c转换成二进制串if(c<128)Concat(strTmp,"0"); //最高位为 0else Concat(strTmp,"1"); //最高位为 1c=c<<1; //左移一位}cha=fgetc(infp);}String strTemp = pMyHuffmanTree->Decode(strTmp);// 译码,并存入String类strTemp中for(i = 1; i <= strTmp.Length(); i++){ // 向目标文件写入字符len++; // 目标文件长度自加 1fputc(strTemp[i-1],outfp); // 将字符写入目标文件中if(len == size)break; // 解压完毕退出循环}fclose(infp);fclose(outfp); //关闭文件cout<<"Ended Processing!"<<endl;}#endif五.测试与结论为了测试压缩程序,编写以下测试函数“main.cpp”:#include "MyHuffmanCompress.h"int main(void){char ch;MyHuffmanCompresshuffman;while(ch!=3){cout<<"Welcome to COMPRESS THE FILE,Please Enter the chose: "<<endl;cout<<"press The File"<<endl;cout<<"2.Decompress the File"<<endl;cout<<"3.Quit!"<<endl;cin>>ch;while(ch != '1' &&ch != '2' &&ch != '3'){cout<<"Please Enter the right chose: "<<endl;cout<<"press The File"<<endl;cout<<"2.Decompress the File"<<endl;cout<<"3.Quit!"<<endl;cin>>ch;}switch(ch){case'1':press();break;case'2':huffman.Decompress();break;}}return 0;}对工程进行编译,链接,生成可执行文件(.exe):1.首先在工程文件夹中新建源文件a.txt,文件中写有要进行压缩的字符,再新建空的目标文件b.txt和空的解压文件c.txt。