压缩方式的探讨--数据流二进制压缩方式(测试探讨)
对数据的压缩定要有两个要求,准确性,还原性。
准确性毋庸置疑,历史和现在的情报战从分的表明了什么是信息的重要性即准确性。
比尔盖茨,各种握权之人,之所以重要。不多是掌握着最全的资料和有点良好的决策能力吧了。
资料越全,决策越容易。站的高必然看的远(除非是弱智)。(说偏了)
而可还原性也是很重要的,毕竟不是md5那样的数字证书之类的认证。
压缩文件的方式有很多种,我没研究过,这里提出我的一个突然想到的解决方式,贴出来,晒晒,防止生虫。
如题,直接对数据本身压缩。
数据在电脑上采用二进制储存。而二进制只有两种情况,1.0 数据的存储也就是不同的排列而已。
例如1111100000
假如代表我
1111000001
代表你
则“我你” 用而进制表示:11111000001111000001
在内存中为,占用20个单位的电位空间
++++++++++++++++++++++++++++++++++++++++++++++++
1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1
++++++++++++++++++++++++++++++++++++++++++++++++
高地址 低地址
观察这一数列,我们可以转化成这样的形式:5个1 加 5个0 加4个1 加5个0 加1 个1
这列数据可以这样储存
5 –5 4 –5 1
如果你直接把它翻译为二进制则是这样的
101 (1)符号位101 100 (1)符号位101 1
你会发现,算上符号位,数据被压缩了:0.25 变成原来的0.75了
不过,问题百出。
翻译的问题,你如何区分断点即那个算数据结束?
符号处理问题
还有,如果遇到数据:101010101010010001100001
用这种方式,你会惊讶的发现,压缩变成了扩容了!
还有 最无法忍受的,极低的压缩率配上高要求的数据处理能力。
实在是让人望而生畏呀!
不过办法还是有的么
你问是啥?
对不住,正在未来和我想会呢 呵呵!
下次就上实例,用程序说话了。
空缘