首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
用户461316
修改
文章:
273
阅读:
1163481
评论:
1065
赞:
2023
好友
私信
个人主页
文章
273
原创
0
阅读
1163481
评论
1065
赞
2023
原创
把1G的文件变成1M的方法
2008-10-25 03:37
3306
12
18
分类:
工程师职场
1.常见文件压缩
首先我们用WinRAR的最高压缩率对常见的文本文件、程序文件和多媒体文件进行压缩,其压缩结果如下(见图1):
压缩后分别还是挺大的
从上图可以看出,多媒体文件压缩比最低,与原文件相差无几,而文本文件和程序文件压缩比要高一些,最高达到3:1,从实际经验来看,我们平时常见的文件压缩比都在10倍以下。
那么,再来看看这个RAR压缩包(见图2),注意其中的原文件大小和压缩后的包裹大小分别为16777215和18407,这是多大的比例?笔者用计算器算了一下,约等于911:1,接近1000倍的压缩比!这是怎么回事?真的假的?跟我一起继续做下面的试验就明白了。
这个简直是不可思议
2.把大象装进瓶子里
这里笔者从自己的电脑里随便找了个文件“数字图像噪声和去除.htm”,这是笔者在浏览网页时使用另存为功能从网上下载的文章,大小为125KB。
第一步:压缩为ZIP文件。右键单击“数字图像噪声和去除.htm”文件,选择“WinRAR→添加到档案文件”,在压缩选项对话框中选择“档案文件类型”为“ZIP”,“压缩方式”为“最好”(见图3),单击“确定”开始压缩。可以看到压缩后的“数字图像噪声和去除.zip”文件只有19KB,压缩率还不错,不过仍离我们的目标相去甚远。
第二步:用WinRAR打开“数字图像噪声和去除.zip”,记下“大小”列中显示的原文件大小数值“127594”,打开计算器程序,单击“查看”菜单选择“科学型”,输入数字“127594”,再点击“十六进制”选项将其转换为16进制值,结果是“1F26A”(见图4)。
用科学型计算器认真算一下
第三步:用UltraEdit编辑器打开“数字图像噪声和去除.zip”文件,我们要在文件中找到“1F26A”的数据,不过由于文件中的十六进制数是高低位倒置表示的,所以我们要查找的数据就变成了“6AF201”,单击“搜索”菜单中的“替换”,将文件中的“6AF201”替换为“FFFFFF”(见图5),共替换两处,文件开头和结尾各一处,替换后保存文件修改。
替换数值
小提示
我们前面之所以要选择ZIP压缩格式,而不是直接使用RAR压缩格式,是因为WinRAR对RAR格式的CRC检验非常严格,对文件进行任何修改都会提示压缩错误,而使用ZIP格式压缩,修改后再用WinRAR打开时不会进行严格的CRC检验,没有任何错误提示。
第四步:现在再用WinRAR打开“数字图像噪声和去除.zip”文件,你会惊奇地发现,压缩包中显示的原文件体积达到了16777KB(见图6),也就是16MB!现在你明白我们第三步中所做修改的目的了吧,我们就是要把原文件从“蟋蟀”变成“大象”!而且,现在你把压缩包中的“数字图像噪声和去除.htm”文件解压出来,其文件体积仍然是16MB,而且可以正常打开浏览。
谜底揭晓了
第五步:接下来就很简单了,把这个修改后的ZIP格式变成RAR格式即可,如果用WinRAR“工具”菜单中的“转换档案文件格式”功能转换后的压缩比会稍微缩小,这里我们直接将“数字图像噪声和去除.zip”改名为“数字图像噪声和去除.rar”,就做成了最开始看到的那个超级压缩包。
3.文件压缩原理
文件压缩分为有损压缩和无损压缩两种,我们常用的WinRAR、WinZip都是属于无损压缩,其基本原理都是一样的,简单地说也就是把文件中的重复数据用更简洁的方法表示,例如一个文件中有1000个字母A,那么这将占用1KB的数据空间,如果用压缩算法就可以用1000A来表示,那么它只需要5个字节的数据空间,压缩比达到了200倍。
那么由此看来,1000倍甚至更高倍的压缩比是可以实现的,但要求源文件必须有足够多的重复数据。不过,我们平时使用的文件都不可能是这样的,所以通常文件压缩比都在10倍以下,如果某个软件声称对任何文件都能够产生这种超高压缩比的话,那它肯定就是具有欺骗性质的了。
小编有话说:很多网上下载的文件只有300MB或400MB,但是解压后,居然可以达到2GB甚至更多,也许你会奇怪,为什么你用WinRAR压缩同样的文件,就没有这样的压缩效果呢?其实这是因为这些文件是用多款不同的压缩软件进行压缩的,用压缩音频最好的压缩软件压缩音频文件,用压缩动画最好的压缩软件压缩动画文件。而且在压缩时所选的参数也是最佳的,这样也就保证了最后生成的压缩文件是最小的
写原创有奖励!2024面包板原创奖励正在进行中
点赞(
12
)
收藏
分享到:
上一篇:
不需软件 将回收站中误删文件恢复
下一篇:
51,AVR,PIC,DSP,DIY的网站收集【转】
IIC Shenzhen - 2024国际集成电路展览会暨研讨会(深圳,11.5-6)
2024 AI& Connect 是德创新技术峰会(深圳,10.22)
第六届意法半导体工业峰会2024(深圳,10.29)
2024 Arm Tech Symposia 年度大会(上海/深圳,11月19/21日)
文章评论
(
6
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户398468
2009-8-29 20:22
亲自按这个方法,认真按步骤试了一下。将原文件大小改成了FFFFFF,那样子是把原文件的大小增大了,并不是减小了。那样解压缩是增大,对压缩本身没帮助。如果把文件大小改小,那样解压缩会出错,解压缩不了。 不知道是我操作错误还是怎样,楼主或许可以有空试试看,如果的确可以,想请教一下楼主到底是怎样实现的。
回复
用户461316
2009-6-10 21:45
只是分享一下!
回复
用户505793
2009-6-9 16:46
解压后那么大,进行填充了吗
回复
用户1601871
2009-4-19 04:53
感谢分享!受益了
回复
用户1418394
2008-11-6 22:54
没看明白!!!
回复
用户1052577
2008-10-29 15:40
毛主席说过:好好学习,天天向上! 这句话很经典,一点也不过时!!!!1
回复
用户175843
2008-10-26 01:53
学习了!
回复
用户1127088
2008-7-24 22:37
这些基本上是对SPEC总结和事例解释,大家喜欢就好
回复
用户474087
2008-7-24 12:23
从最基本的gpio学起
回复
用户158764
2008-7-24 11:39
大家一起学习啊 有没有QQ群可以加入,大家一起讨论
回复
查看更多评论
相关推荐阅读
用户461316
2009-08-17 17:57
Zigbee星型网络组网程序段
最近一直在做Zigbee的星型网络的组网试验,由于时间的原因,现在只是在最高的应用层上来编写程序。即协议栈的程序是2430的开发商(无限龙)编写的,我只是调用相应的函数来完成组网的,星型网络组网部分的...
用户461316
2009-08-17 17:14
VB6的标题栏使用上真彩色图标
模块 ModIcon.Bas 代码: Option Explicit Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long...
用户461316
2009-08-17 16:58
AppendToLog一个API方式存取日志文件的模块
'**************************************' 模块名称: AppendToLog' 功能描述:一个很不错的日志文件写入模块,不同于' open/print/...
用户461316
2009-08-17 16:57
(VB自定义函数)去除字符串中的空格
'去除字符串中的空格(方法一)Public Function DelBlank(SearchString As String) DelBlank = Replace(SearchString, C...
用户461316
2009-08-17 16:56
(VB自定义函数)对任意输入的汉字,可以得到它的拼音的第一个字母
调用方法:Command1.Caption = getHzPy("你")'//函数入口为汉字串,返回值为该汉字的第一个字母Public Function getHzPy(hzStr As String...
用户461316
2009-08-17 16:54
VB_代码执行速度测试
'**************************************'Windows API/Global Declarations for :[ ' A Simple] code ...
用户461316
修改
文章:
273
阅读:
1163481
评论:
1065
赞:
2023
好友
私信
个人主页
文章
273
原创
0
阅读
1163481
评论
1065
赞
2023
最新评论
更多
写的好,学习参考,很实用,拆的很细,老物件,电子产品
开发工匠 ...
评论博文
2024-12-12
不得不拆解修理台式组合音响
图片失效了呢
OPTIMIST
评论博文
2024-12-10
美的风扇灯拆解:如何实现极致高效的稳定输 ...
期待续更
Jun2024
评论博文
2024-12-10
比较器检测模拟脉冲说明(四) ...
最新
博文
康谋方案 | 多源相机数据采集与算法集 ...
PCBA打样需要哪些准备?
实施TPM过程中如何进行设备的全面清查 ...
资料下载
本周热帖
[14章附电子书]Springboot+ChatGLM 实 ...
24LC02芯片手册以及注意事项 ...
《高等代数自学教程》(下册,贺昌亭 ...
11-19学习笔记
SATA specification
【2024年末活动】工程师写总结,送示 ...
【STM32F103C8T6教程】(七)串口通信 ...
ESD保护二极管的四大特点丨浪拓 ...
【富芮坤 FR3068x-C低功耗开发板】-01 ...
什么是半导体芯片的失效切片分析? ...
最新资讯
芯语最新
欧洲港口自动化战略:在AI浪潮中增强 ...
为什么说机器人的“ChatGPT时刻”将至 ...
用4200A和矩阵开关搭建自动智能的可靠 ...
1961年的金色功率音频放大器,挑战当 ...
前11个月中国集成电路出口额,突破万 ...
Aigtek:电压放大器应用原理介绍 ...
芒果融创空间内容生产技术探索与实践 ...
Aigtek功率放大器应用:压电极化测试 ...
芯片女王苏姿丰当选《时代》2024年度C ...
爆雷!又一AI公司原地解散! ...
EE直播间
更多
提升毫米波信号测试精度
直播时间: 12月18日 14:00
EE Talk主题专访系列直播-对话:释放 Wi-Fi 7 在高带宽应用中的技术潜力
直播时间: 12月19日 10:00
在线研讨会
更多
ADAS系统中采用的MEMS时钟
PLL基础知识及其在时钟系统中的应用
PIC16F13145单片机可配置逻辑模块(CLB)概览
适用于安全连接的新一代PIC32CK SG/GC系列单片机
热门
推荐
精密双向电流感应放大器设计方案
【有奖直播】提升毫米波信号测试精度
【有奖直播】
深入学习Microchip时钟和全新单片机方案
我要评论
6
12
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/2
面包板社区有奖活动汇总楼
1. DIY赢大奖!2. 写原创,有奖励!3.参与话题,奖励E币!4. 免费申领:开发板试用、书籍试读...
电子工程师DIY来分享,赢大疆无人机、小米手机、NAS存储、万用表 ...
展示您的 DIY 电子设计作品,社区将有丰富奖励送给您!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
用户398468 2009-8-29 20:22
用户461316 2009-6-10 21:45
用户505793 2009-6-9 16:46
用户1601871 2009-4-19 04:53
用户1418394 2008-11-6 22:54
用户1052577 2008-10-29 15:40
用户175843 2008-10-26 01:53
用户1127088 2008-7-24 22:37
用户474087 2008-7-24 12:23
用户158764 2008-7-24 11:39