登录
首页 » 算法 » LZW压缩算法c++实现

LZW压缩算法c++实现

于 2022-03-11 发布 文件大小:24.81 kB
0 291
下载积分: 2 下载次数: 1

代码说明:

应用背景本程序是一个使用C++实现的压缩算法,LZW算法,LZW压缩算法是Lempel-Ziv-Welch 3个人共同发明的,简称 LZW 的压缩算法,可以用任何一种语言来实现它. LZW是GIF图片文件的压缩算法,而且zip压缩的思想也是基于LZW实现的,所以LZW对文本文件具有很好的压缩性能。 LZW压缩算法的基本原理:提取原始文本文件数据中的不同字符,基于这些字符创建一个编码表,然后用编码表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小。看起来和调色板图象的实现原理差不多,但是应该注意到的是,我们这里的编码表不是事先创建好的,而是根据原始文件数据动态创建的,解码时还要从已编码的数据中还原出原来的编码表. 关键技术编码表中每一项的大小一般为12位,用来代表一个字符串。这样编码表有2**12=4096项,编码值是0~4095。通常情况下0~255是固定的,用 来代表单个字符0~255。而值256通常用来表示开始新的编码表,因为如果编码表的4096项都用完了,而待压缩文件还没有处理完,那么就需要生成新的 编码表继续压缩;257表示压缩结束,用来写到压缩文件尾。从258开始,每个值都代表一个字符串(至少2个字符)。 举个例子,有下面的字符串:ababcdefgefg。(a的ascii码是0x61=97) 压缩后的数据是:97 98 258 99 100 101 102 103 263 103。 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 运动学的硬化 fortran 代码
    此代码为各向同性材料在平面应力状态的金属一样的随动强化你可以使用更精细的随动强化模型,所以用 fortran 语言写一个子程序来实现他们的本构关系。
    2022-05-23 11:55:18下载
    积分:1
  • 测试在Dev
    测试在Dev-C++中的C语言编程,具体测试在程序退出之前进行暂停。我的作品-test in Dev- C of C programming language, the specific test procedures for withdrawal before the suspension. My work
    2022-06-26 17:18:13下载
    积分:1
  • 绘图软件
    应用背景 这是一个用计算机图形学做的的二维绘图程序,界面良好,互动性高。主要内容包括:1.基础图元的生成,如直线、椭圆、区域填充等。 2.样条曲线的生成,如Bezier曲线、B-样条曲线,二次累加 弦长曲线。3.任意的多边形的生成。 关键技术 MFC的框架。onpaint函数编写。二次曲线的算法。任意多边形生成算法。
    2023-04-11 06:35:10下载
    积分:1
  • ACM一些题目,很有难度。能做出来的是高手。
    ACM一些题目,很有难度。能做出来的是高手。-ACM some questions, very difficult. Can come out is a master.
    2023-07-24 18:50:04下载
    积分:1
  • LCD项目
    这是一个代码初始化和使用爱特梅尔在屏幕液晶书写和编程上atmega16a同样是一个代码使用4X4键盘matricila
    2022-06-15 17:41:12下载
    积分:1
  • 牛顿迭代法解方程组 写得比较简单 但是使用
    牛顿迭代法解方程组 写得比较简单 但是使用-Newton" s iterative method solution of equations written in relatively simple, but the use of
    2022-02-05 16:37:23下载
    积分:1
  • Chapter 1 TURBO PASCAL senior programming technology and its use 1.1 1.2 modules...
    第1章 TURBO PASCAL高级编程技术 1.1 单元及其使用 1.2 与汇编语言混合编程 1.3 与C语言混合编程 1.4 过程类型及其使用 1.5 中断例程的编写方法 1.6 动态数组及其使用 1.7 扩充内存(EMS)及其使用 1.8 扩展内存(XMS)及其使用 1.9 程序的标准数据作代码处理的方法 第2章 实用工具单元 2.1 屏幕输入与输出单元ACRT 2.2 字符串处理单元ASTR 2.3 磁盘操作单元DISK 2.4 热键单元POPUP 2.5 数据库交互单元DBASE 2.6 扩充内存单元EMS 2.7 扩展内存单元XMS 2.8 数学函数单元MATH 2.9 矩阵运算单元MATRIX 2.10 概率分布函数单元PROB 2.11 复数运算单元COMPLEX 第3章 实用程序 3.1 软锁驱动器程序 3.2 锁硬盘逻辑盘程序 3.3 稿纸打印程序 3.4 源程序列表程序 3.5 查找并替换程序 3.6 备份硬盘主引导扇区程序 3.7 四通-PC文本文件转换程序 3.8 SPT文件与BMP文件的双向转换程序 3.9 数据库卡片打印程序 3.10 BATCH文件转换为COM文件程序 3.11 机密文件的有效销毁程序 3.12 释放内存程序 附录1 源程序文件索引表 附录2 各种显示卡及其显示模态表 -Chapter 1 TURBO PASCAL senior programming technology and its use 1.1 1.2 modules and compile language Programming were mixed with 1.3 C language types and process 1.4 1.5 interrupt routine use of a method of preparation dynamic array .6 1.7 and its use expanded memory (EMS) 1.8 and its use of Extended Memory (C
    2022-08-10 00:12:37下载
    积分:1
  • TSP solve by ACO
    // TSP solve by ACO 2013/06/13 #include "stdafx.h" #include #include #include #include #define NumCities 42 //共幾座城市 #define NumAnts 20 //螞蟻組數POP,最多就NumCities隻 #define parameter_evaporate 0.5 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-02-09 23:17:05下载
    积分:1
  • a load Ezwin the fee
    一个加载Ezwin的费式序列的动态演示-a load Ezwin the fee-demonstration of the dynamic sequence! !
    2022-01-25 22:33:20下载
    积分:1
  • 最小曲率扩边代码
    最小曲率扩边源代码,用于空白点补空,当在位场数据进行时域与频域转化时,离散数据必须为2的整数次幂,此时可对采集数据体利用最小曲率方法进行扩边,该算法精度较高,由于余弦扩边算法。
    2022-03-11 07:25:23下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载