首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025汽车电子峰会
2025 AI+IoT 生态大会
2025MCU及嵌入式论坛
直播:介电常数那些事儿
汽车全域ADAS方案
行业及技术活动
研华嵌入式论坛(深圳 武汉 苏州)
嵌入式设计资源库
杂志免费订阅
EE直播间
白皮书
小测验
在线研讨会
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
用户461316
修改
文章:
273
阅读:
1199455
评论:
1065
赞:
2360
好友
私信
个人主页
文章
273
原创
0
阅读
1199455
评论
1065
赞
2360
原创
把1G的文件变成1M的方法
2008-10-25 03:37
3429
13
19
分类:
工程师职场
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压缩同样的文件,就没有这样的压缩效果呢?其实这是因为这些文件是用多款不同的压缩软件进行压缩的,用压缩音频最好的压缩软件压缩音频文件,用压缩动画最好的压缩软件压缩动画文件。而且在压缩时所选的参数也是最佳的,这样也就保证了最后生成的压缩文件是最小的
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
13
)
收藏
分享到:
上一篇:
不需软件 将回收站中误删文件恢复
下一篇:
51,AVR,PIC,DSP,DIY的网站收集【转】
PARTNER CONTENT
换一换>
更多>
文章评论
(
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
阅读:
1199455
评论:
1065
赞:
2360
好友
私信
个人主页
文章
273
原创
0
阅读
1199455
评论
1065
赞
2360
最新评论
更多
https://namobharat.zohodesk.in/portal/en/kb/articles/51-c%C3%B3mo-puedo-llamar-a-delta-airlines-en-per%C3%BA-delta-tele ...
用户1751393 ...
评论博文
2025-7-2
数字气压传感器,如何用 "触觉" 丈量气压的 ...
https://namobharat.zohodesk.in/portal/en/kb/articles/51-c%C3%B3mo-puedo-llamar-a-delta-airlines-en-per%C3%BA-delta-tele ...
用户1751393 ...
评论博文
2025-7-2
极米科技:财报“虚火”难掩主业寒冬,新赛 ...
https://namobharat.zohodesk.in/portal/en/kb/articles/51-c%C3%B3mo-puedo-llamar-a-delta-airlines-en-per%C3%BA-delta-tele ...
用户1751393 ...
评论博文
2025-7-2
极米科技:财报“虚火”难掩主业寒冬,新赛 ...
最新
博文
使用知用电流探头时示波器如何设置 ...
世界对氮化镓功率器件的误解 ...
DeepSeek、豆包向左,盘古大模型向右 ...
资料下载
本周热帖
初级无刷电机设计学习资料 ...
无刷电机资料大全(基本原理+接线方法 ...
无刷电机原理图大全
【伺服驱动器用户手册、电熔胶调试指 ...
【说明书、用户手册】富士伺服系统 ...
一文搞懂UVA、UVB、UVC、UVD的区别与 ...
从开关速度看MOSFET在高频应用中的性 ...
元器件选型的基本要求
基于SiC的熔丝保护高压电气系统 ...
《电感应用分析精粹:从磁能管理到开 ...
最新资讯
芯语最新
哪吒汽车继续“自救”,公开招募意向 ...
SEMI预测:2030年半导体行业将面临100 ...
41 家企业同日获受理,摩尔线程、沐曦 ...
传大联大计划重组?回应来了…… ...
借助 PSFB 转换器中的有源钳位实现 ...
比亚迪销量突破38万辆!鸿蒙智行交付 ...
嵌入式项目管理流程
2025年6月及上半年汽车新势力销量排名 ...
朱晓彤,接管特斯拉全球工厂 ...
行业首发!TCL华星发布显示领域首款强 ...
EE直播间
更多
全面搞懂介电常数那些事儿
直播时间: 07月03日 10:00
在线研讨会
更多
利用先进精密仪器仪表解决方案,优化研发并加快产品上市
AI 巨型芯片,性能越强,测试越难,如何破局?
Mercury基于展频技术的医疗时钟EMI抑制方案
ST 在大功率热管理系统中的电机控制系统方案(AI 数据中心/暖通空调/电池储能系统/变频制冷)
热门
推荐
汽车音响系统设计
TI 创新技术搞定汽车的眼睛和耳朵
从ADAS到全自动驾驶演进
【技术前沿】Microchip最新嵌入式技术大揭秘!
我要评论
6
13
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/5
E币兑换「你的愿望清单,我们来买单!」
为了把E币兑换变成更懂你们的“小确幸”,我们决定开启「社区心愿兑换」计划!想要什么告诉我们,我们给您买
2025第1期拆解活动:赢示波器、运动相机、热像仪等!
示波器、影石运动全景相机、大疆无人机、高清红外热成像仪;树莓派5等等
【下载】电源设计工程师指南(共542页)
本书共542页,深受设计工程师欢迎,作为硅基与第三代半导体的实用工具书,本手册将成为专业技术人员实现优化功率和小信号开关、电源转换和管理的必备指南。
【2025面包板社区内容狂欢节】发帖/回帖赢25万E币!
活动时间:即日起——2025年全年(发完20万E币为止!)
社区内容发布、审核与管理!
严厉打击刷流量发广告等行为
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025汽车电子峰会
2025 AI+IoT 生态大会
2025MCU及嵌入式论坛
直播:介电常数那些事儿
汽车全域ADAS方案
行业及技术活动
研华嵌入式论坛(深圳 武汉 苏州)
嵌入式设计资源库
杂志免费订阅
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