当前位置: 首页 >  软件学堂 >  第六章 亲自尝试压缩数据

第六章 亲自尝试压缩数据

导读:******** 文件是将数据存储在磁盘等存储媒介中的一种形式。程序文件中存储数据的单位是字节.。文件的大小之所以用x×KB、xxMB等来表示,就是因为文件是以字节(B=Byte)为单位来存储的。文件就是字节数据的集合。用1字节(=8位)表示的字节数据有256种,用二进制数来表示

******** 文件是将数据存储在磁盘等存储媒介中的一种形式。程序文件中存储数据的单位是字节 。文件的大小之所以用x×KB、xxMB等来表示,就是因为文件是以字节(B=Byte)为单位来存储的。文件就是字节数据的集合。用1字节(=8位)表示的字节数据有256种,用二进制数来表示的话,其范围就是00000000~11111111。如果文件中存储的数据是文字,那么该文件就是文本文件。如果是图形,那么该文件就是图像文件。

RLE(Run Length Encoding,行程长度编码)算法 :把文件内容用“数据x重复次数”的形式来表示的压缩方法。RLE算法是一种很好的压缩方法,经常被用于压缩传真的图像等①。因为图像文件本质上也是字节数据的集合体,所以可以用RLE算法来压缩。例如,This is a pen.中,is重复了两次。通过利用这个压缩技巧,压缩后的文件也能小一些。由此可见,压缩技巧的拙劣是由所花的功夫决定的。

哈夫曼算法的关键就在于“多次出现的数据用小于8位的字节数来表示,不常用的数据则可以用超过8位的字节数来表示”。 A和Q都用8位来表示时,原文件的大小就是100次×8位+3次×8位=824位,而假设A用2位、Q用10位来表示,压缩后的大小就是100次×2位+3次×10位=230位。而在哈夫曼算法中,通过借助哈夫曼树构造编码体系,即使在不使用字符区分符号的情况下,也可以构建能够明确进行区分的编码体系。也就是说,利用哈夫曼树后,就算表示各字符的数据位数不同,也能够做成可以明确区分的编码。因此,只要掌握了哈夫曼树的制作方法,并用程序将其完成,就可以借助哈夫曼算法实现文件压缩了。不过,与RLE算法相比,程序的内容要复杂很多。

图像文件还可以使用与前文介绍的RLE算法、哈夫曼算法不同的其他压缩算法。这是因为,多数情况下,并不要求压缩后的图像文件必须还原到与压缩前同等的质量。与之相比,程序的EXE文件以及每个字符、数值都有具体含义的文本文件则必须要还原到和压缩前同样的内容。而对于图像文件来说,即使有时无法还原到压缩前那样鲜明的图像状态,但只要肉眼看不出什么区别,有一些模糊也勉强可以接受。这里,我们把能还原到压缩前状态的压缩称为可逆压缩 ,无法还原到压缩前状态的压缩称为非可逆压缩

内容
  • PicList 现已上架Mac App Store 分享下整个上架过程和遇到的问题
    PicList 现已上架Mac
    2023-12-08
    PicList 是一款云存储/图床平台管理和文件上传工具,基于 PicGo 进行了深度二次开发,保留了 PicGo.的所
  • 等保测评之主机测评——Windows Sever
    等保测评之主机测评——Windo
    2023-12-08
    目录.(一)身份鉴别.(二)访问控制.(三)安全审计.(四)入侵防范.(五)恶意代码防范.(六)可信验证.(七)数据完整
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记26_安全性上
    读发布!设计与部署稳定的分布式系
    2023-12-07
    1. 安全问题.1.1. 系统违规并不总是涉及数据获取,有时会出现植入假数据,例如假身份或假运输文件.1.2. 必须在整
  • 联邦GNN综述与经典算法介绍
    联邦GNN综述与经典算法介绍
    2023-12-07
    作者:京东科技 李杰.联邦学习和GNN都是当前AI领域的研究热点。联邦学习的多个参与方可以在不泄露原始数据的情况下,安全
  • keras图片数字识别入门AI机器学习
    keras图片数字识别入门AI机
    2023-12-07
    通过使用mnist(AI界的helloworld)手写数字模型训练集,了解下AI工作的基本流程。.本例子,要基于mnis
  • Hutool:一行代码搞定数据脱敏
    Hutool:一行代码搞定数据脱
    2023-12-07
    1. 什么是数据脱敏.1.1 数据脱敏的定义.数据脱敏百度百科中是这样定义的:.数据脱敏,指对某些敏感信息通过脱敏规则进
  • golang编译最小可执行文件
    golang编译最小可执行文件
    2023-12-07
    前言.我们在使用go语言时,最方便莫过于将编译好的二进制文件直接拷贝到服务器中运行即可,但是随着代码工程的复杂可能导致二
  • 一种配置化的数据脱敏与反脱敏框架实现
    一种配置化的数据脱敏与反脱敏框架
    2023-12-07
    1.tony框架背景.在业务量日益剧增的背景下,大量数据在各种业务活动中产生,数据安全控制一直是治理的重要环节,数据脱敏
  • 使用GetDIBits()获取Windows位图数据的标准用法,解决内存、堆栈报错问题
    使用GetDIBits()获取W
    2023-12-06
    获取图标的位图数据.分两次使用GetDIBits(),以便于正确设置缓存的大小.正确设置BITMAPINFO的大小,否则
  • 小波去噪算法的简易实现及其扩展(小波锐化、高斯拉普拉斯金字塔去噪及锐化)之二。
    

SSE图像算法优化系列九:灵活运用SIMD指令16倍提升Sobel边缘检测的速度(4000*3000的24位图像时间由480ms降低到30ms)
    小波去噪算法的简易实现及其扩展(
    2023-12-06
    上一篇文章谈及了GIMP里实现的小波分解,但是这仅仅是把图像分解为多层的数据,如果快速的获取分解数据以及后续怎么利用这些
  • 不清除手机数据怎么解锁锁屏密码
    不清除手机数据怎么解锁锁屏密码
    2023-12-06
    不清除手机数据怎么解锁锁屏密码.在现代社会中,手机已经成为我们生活中不可或缺的一部分。然而,有时我们可能会遇到忘记锁屏密
  • 智能物联网时代里信息存储、处理和传输方式的变化浅谈
    智能物联网时代里信息存储、处理和
    2023-12-06
    智能物联网时代里信息存储、处理和传输方式的变化浅谈.在智能物联网时代,信息存储、处理和传输的方式将发生重大变化。以下是一
  • 开发环境篇之HALCON数据结构
    开发环境篇之HALCON数据结构
    2023-12-05
    开发环境篇之HALCON基础.目录.基本数据分类.图标类数据.Image(图片).Pixel:像素.Channel:通道
  • 虹科案例 | 丝芙兰xDomo:全球美妆巨头商业智能新玩法
    虹科案例 | 丝芙兰xDomo:
    2023-12-05
    全球美妆行业的佼佼者丝芙兰,其走向成功绝非仅依靠品牌知名度和营销手段。身为数据驱动型企业,2018年以来,丝芙兰就率先在
  • colmap 初体验🫠🎶
    colmap 初体验🫠🎶
    2023-12-05
    安装:Installation — COLMAP 3.9-dev documentation.使用:Tutorial —
  • ManageEngine ServiceDesk Plus之CVE漏洞
    ManageEngine Ser
    2023-12-05
    什么是CVE?.CVE的英文全称是“Common Vulnerabilities &.Exposures”即通用漏洞披露
  • 自主三维GIS引擎笔记-实现三维球045
    自主三维GIS引擎笔记-实现三维
    2023-12-05
    最小GIS迷你地球实现(实现一套最小的三维GIS球体) V1.0.0.0版本.数据加代码比较大(主要是数据,数据有1G多
  • Wireshark使用
    Wireshark使用
    2023-12-03
    WireShark是非常流行的网络封包分析工具,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程中各种问
  • Rsync简介
    Rsync简介
    2023-12-03
    Rsync是一个远程数据同步工具,可以实现Windows系统间、Linux系统间以及Windows和Linux系统间的数
  • 业务数据“一站式”数据管理平台,从设备实时数据和业务应用数据两个方面要彻底解决“信息孤岛”的问题
    业务数据“一站式”数据管理平台,
    2023-12-02
    ** 1. 产品背景**.工业数据大致分为两种数据:设备实时数据和业务应用数据。.设备实时数据.的管理是iNeuOS工业
  • 智能车载设备
    智能车载设备
    2023-10-02
    智能车载设备.我们的智能车载设备是一款结合了最新科技和创新设计的汽车配件,旨在提升驾驶体验、提高安全性和为用户带来智能化
  • 智能医疗设备
    智能医疗设备
    2023-10-02
    智能医疗设备产品介绍.智能医疗设备是一款集成了先进技术的高科技产品,旨在提高医疗保健的效率和质量。该设备主要应用于医院、
  • 互联网金融服务平台
    互联网金融服务平台
    2023-10-01
    互联网金融服务平台.产品功能.个人理财:用户可以通过平台进行投资理财,选择适合自己的理财产品,实现资金增值。.贷款服务:
  • 电子元件电感
    电子元件电感
    2023-10-02
    电子元件电感.产品功能.电感是一种重要的电子元件,用于储存和释放电能,调节电路中的电流和电压。它在电子设备和通讯设备中起
  • 智能智能家居设备
    智能智能家居设备
    2023-10-05
    智能家居设备介绍.产品概述.我们当前运营的产品是智能家居设备,它是一款智能化的家居控制系*,旨在为用户提供更便捷、舒适的
  • 智能可穿戴设备
    智能可穿戴设备
    2023-10-03
    产品功能介绍.我们的智能可穿戴设备是一款集健康监测、运动追踪、通讯互动等多种功能于一体的产品。它采用先进的传感技术,可实
  • 智能手机
    智能手机
    2023-10-01
    产品功能介绍:智能手机.智能手机是一款集通讯、娱乐、办公等功能于一体的移动智能设备。首先,智能手机具有强大的通讯功能,支
  • 智能智能物流设备
    智能智能物流设备
    2023-10-04
    智能物流设备.1. 产品描述.智能物流设备是一款基于物联网技术的智能设备,主要用于运输、储存和**物流货物。其核心功能是
  • 智能智能娱乐设备
    智能智能娱乐设备
    2023-10-04
    产品功能介绍.1. 智能娱乐设备.我们的智能娱乐设备是一款结合了智能技术和娱乐功能的产品。它拥有丰富的娱乐资源,包括音乐
  • 智能电视
    智能电视
    2023-10-01
    产品功能介绍.智能电视是一款结合了传统电视和智能硬件的产品。它内置了智能操作系*,能够连接互联网并运行各种应用程序。智能