首页 > 其他分享 >压缩数据

压缩数据

时间:2024-02-29 15:03:36浏览次数:24  
标签:字节 哈夫曼 可逆 压缩 压缩文件 算法 数据

读完第六章后,我了解到文件是以字节为单位来保存的,文件的大小之所以用KB、MB等来表示,就是因为字节用B来表示。文件用来压缩是可以使用RLE算法机制的。RLE算法是用“数据”*“重复次数”来压缩的,它比较适用字节重复较多的文件,并不适合文本文件的压缩。用哈夫曼算法也可以压缩文件。哈夫曼算法是哈夫曼(D.A.Huffman)于1952年提出来的压缩算法。日本人比较常用的压缩软件LHA",使用的就是哈夫曼算法。哈夫曼算法的关键就在于“多次出现的数据用小于8位的字节数来表示,不常用的数据则可以用超过8位的字节数来表示”。例如A和Q都用8位来表示时,原文件的大小就是100次x8位+3次x8位=824位,而假设A用2位、0用10位来表示,压缩后的大小就是100次x2位+3次x10位=230位。由此看来,哈夫曼算法也极有用处。此外,用二叉树也可以实现哈夫曼算法,。另外,压缩文件也分可逆压缩和非可逆压缩。压缩完之后不可恢复就叫非可逆压缩,可以恢复就叫可逆压缩。

标签:字节,哈夫曼,可逆,压缩,压缩文件,算法,数据
From: https://www.cnblogs.com/Lxz1/p/18044192

相关文章

  • HttpWebRequest的Request.Form接收不到数据
    最近在写接口,post请求,使用postman模拟时,使用的是raw-json,然后发现HttpContextBasecontext=(HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统contextHttpRequestBaserequest=context.Request;//定义传统request对象stringdbcode=request.Form["d......
  • 数据库 - 第六次实验
    a)SELECT*FROMvideoWHEREvid=35结果:b)SELECTuser.*FROMuserJOINpostONuser.uid=post.uidWHEREpost.vid=35结果:c)SELECTcount(*)FROMwatchWHEREvid=35结果:d)SELECTcount(*)FROMlikeWHEREvid=35结果:e)SELECTcount......
  • 数据库 - 第五次实验
    SELECTcommodity.name,onsell.status,onsell.rem_amount,AVG(orders.buyerrate),COUNT(*)FROMonsellJOINordersONonsell.cid=orders.cidANDonsell.sid=orders.sidJOINcommodityONonsell.cid=commodity.cidWHEREonsell.cid=2410AND......
  • 数据库 - 第四次实验
    a)SELECTPeople.pid,People.name,City.nameFROMPeopleJOINCityONPeople.cid=City.cidWHEREPeople.pid=1结果:b)SELECTvaccine.name,count(*)FROMpeopleJOINinoculateONpeople.pid=inoculate.pidJOINvaccineONinoculate.vcid=vacc......
  • 数据库 - 第三次实验
    CREATEVIEWuser_friendASSELECTu2.uid,u2.nickname,f1.note,f1.typeFROMuseru1JOINfriendf1ONu1.uid=f1.uid1JOINuseru2ONu2.uid=f1.uid2WHEREu1.uid=1;运行SELECT*FROMuser_friend;结果:![[Pastedimage202311141727......
  • 8-5. 序列化保存数据文件
    安装newtonsoftjsonnewtonsoftjson是一个比JsonUtility更好的JSON工具,但是UnityRegistry没办法直接下载,需要点击PackageManager左上角的+号,点击AddpackagefromgitURL,输入com.unity.nuget.newtonsoft-json,进行安装使用newtonsoftjson序列化和反序列化使......
  • Vue学习笔记23--监视数据总结
    Vue监视数据总结vue会监视data中所有层次的数据如何监测对象中的数据通过setter实现监视,且要在newVue时就传入要监测的数据对象中后添加的属性,Vue默认不做响应式处理如需给后添加的属性做响应式,请使用如下API:Vue.set(target,propertyName/index,vaue)或vm.$set(target,pr......
  • Oracle 12C数据库从文件系统迁移到ASM
     查看参数文件位置SQL>showparameterspfileNAMETYPEVALUE-----------------------------------------------------------------------------spfilestring/u01/app/oracle/product/12.......
  • [思维] [树形数据结构] CF1379F1 Chess Strikes Back (easy version)
    注意到棋盘大小为$2n,2m$,共$2nm$个白格,同时国王数量为$nm$,尝试将$2$个国王捆绑在一块,即将棋盘均匀划分为若干个$2*2$大小的大格子。在此基础上观察,显然同一个大格子内的两个白格不能同时放置国王,同时大格子数量为$nm$,因此问题转化为判定能否使得所有大格子都有一个国王,......
  • 超高频数据分析方法
    SPSSAU助力每个写论文的大学生,今天一文总结了毕业论文数据分析常用的12类方法,包括文科生需要的简单数据分析、理科生常用的各类模型、或者医学生常用的实验方法通通都给你分类汇总好了,赶紧转发给你为了数据分析头秃的室友吧~一、基本描述分析基本描述统计分析包括频数分析、描......