资源简介
本文档包括了用C++实现的LZ77和LZ78对文件压缩、解压的完整代码,压缩率达到0.55,欢迎下载
说明:本程序是对书籍中的算法的直接实现,因此速度不是很快,比如对2MB文本文件压缩,LZ77是58s,LZ78是7s。
本程序对文本末尾比特的处理的考虑比较全面,大家可以参考一下
本程序可以通过调整两个窗口的大小、处理字节等参数来改变压缩率与压缩速度
代码片段和文件信息
#include
#include“myclass.h“
using namespace std;
int main(void) {
File2mark file2mark;
File2char file2char;
string filename1;
string filename2;
int choice = 1;
string stringin;
cout << “input a integer:0-exit1-encode2-decode:\n“;
cin >> stringin;
if (stringin.at(0) >= ‘0‘&&stringin.at(0) <= ‘2‘) {
choice = stringin.at(0) - ‘0‘;
}
else {
choice = 3;
}
while (choice != 0) {
if (choice == 1) {
cout << “input file name:\n“;
cin >> filename1;
filename2 = filename1 + “.lz77“;
file2mark.file_encode(filename1 true filename2);
}
else if (choice == 2) {
cout << “input file name:\n“;
cin >> filename1;
cout << “input new file name:\n“;
cin >> filename2;
file2char.file_decode(filename1 true filename2);
}
else if (choice == 3) {
cout << “input error\n“;
}
cout << “over\n“;
cout << “input a integer:0-exit1-encode2-decode:\n“;
cin >> stringin;
if (stringin.at(0) >= ‘0‘&&stringin.at(0) <= ‘2‘) {
choice = stringin.at(0) - ‘0‘;
}
else {
choice = 3;
}
}
cin.get();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-24 16:55 LZ\
目录 0 2017-09-24 16:56 LZ\LZ77\
文件 1120 2017-07-04 23:42 LZ\LZ77\LZ77.cpp
文件 252928 2017-09-24 16:16 LZ\LZ77\LZ77.exe
文件 11531 2017-07-04 23:44 LZ\LZ77\myclass.h
文件 358 2017-07-04 23:41 LZ\LZ77\parameter.h
目录 0 2017-09-24 16:55 LZ\LZ78\
文件 1120 2017-07-04 21:28 LZ\LZ78\LZ78.cpp
文件 269312 2017-09-24 16:39 LZ\LZ78\LZ78.exe
文件 12412 2017-07-04 21:28 LZ\LZ78\myclass.h
文件 525 2017-07-04 21:28 LZ\LZ78\parameter.h
相关资源
- 自适应霍夫曼编码(C++)
- C++哈夫曼编码与译码课程设计实现源
- 一个判断字符串编码类型的类,支持
- 信息论编码——信道编码实验
- 赫夫曼树的构建及赫夫曼编码C语言源
- 哈夫曼树的建立(Huffman Tree C语言实现
- BCH3121编码译码解码程序源代码——
- rs编解码.c rs纠错码
- 基于C++的lzw的编码的实现
- C++实现哈夫曼树及哈夫曼编码.rar
- n元哈夫曼编码
- 基于哈夫曼编码的文本文件压缩与解
- 74循环码编码、最小广义距离译码
- 赫夫曼树哈夫曼树 算法 编码 源代
- bch127编码
- 循环码编码器
- fec向前纠错编码rs编码仿真实现
- 基于C++和MFC的哈夫曼编码压缩软件的
- 哈弗曼编码的实验报告
- 实现对任意格式文件压缩 C++
- C++实现对文本(单纯文字,不是文本
- 随机线性网络编码和确定线性网络编
- Huffman 编码
- 霍夫曼编码C++实现
- rs编码c语言实现
- 简单实现的LZ78编码程序
- 数据结构实验-哈夫曼编码C语言实现实
- IMA ADPCM/PCM编码和解码C语言程序
- BenCode编码解析
- 华为C/C++编码规范
评论
共有 条评论