[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
15# terse


貌似是个新颖的想法, 但我没理解你的思路,能说详细点么?

TOP

另一思路  把一定长度字符(转为10进制) 除一固定数 储存这个信息
terse 发表于 2011-5-13 11:33

这是有损的,而且十进制数的存储能力似乎反而比十六进制数更低吧

TOP

有损压缩 一般用于图行领域,也没能力研究。

我考虑的是exe可执行文件或者rar压缩文件,当然不能有半点损。

TOP

10楼的方法看起来不错哦,
另外,可以模仿视频压缩的技术,有一种视频是动态的场景帧数多,静态的场景帧数少
如果是在实战中,很可能连续碰到多个含0?的字节,这时候是不是可以把010201010f0e07记成.05_1211fe7呢?
还有既然都是数字,也许也可以考虑做个函数,将x、y、z放入其中,就能算出后面的一系列数字。这想法跟字典其实还是差不多,但是大概有那么一点区别吧

TOP

本帖最后由 zm900612 于 2011-5-13 13:57 编辑

前面说的有损压缩,我的想法是,有许多字符组合也许不可能出现在16进制编码中的,就像0D0A、0A0A或者0D0D不会出现在由记事本正常输入的txt文件中,那就可以把它们排除在字典之外,这样字典的容量就会提升,这种有损压缩是损字典,不损压缩内容。

TOP

本帖最后由 hanyeguxing 于 2011-5-13 14:06 编辑

由于连续0很多,所有优先处理0:
1,1个0依然记作0
2,2个0按双字节处理,替换为I
3,大于2个的0,则替换为Hnn或Gn,n为0的个数
由于这里0的个数分为3到9之间和10到100之间,所以区分为Hnn和Gn
其次处理连续F,替换为Jn,n为F的个数
再次,以单字符替换多字符(大于等于4),例如替换5F5F为K等
至于剩余的字母是否替换其他双字节字符,个人认为大多没必要了,因为增加的代码量会过高,可以考虑处理出现最多的几个
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 terse 于 2011-5-13 15:36 编辑

继续对重复字符处理的话  如AAAAAAAA 是否可以这样 %8a%
至于 字符转10进制 处理 有难度
仅处理特殊串 如FFFFFFF
  1. set/a N=0xfffffff/0xffffff,R=0xfffffff-n*0xffffff
复制代码
得商 16 余数 F
这里难度主要是余数的处理  因为余数有 长度等同ffffff长度的情况
转Base64码 后原码的2/3体积  这个应该无损哦

另我认为字符大小写应该区分的
  1. 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
复制代码
1

评分人数

    • plp626: 绕了很大一个圈今我还是回到这个方法上技术 + 1

TOP

本帖最后由 plp626 于 2011-5-13 17:18 编辑

我目前,理论上,

可以将一楼的数据 至少 压缩 掉 2/3,即压缩为原来体积 1/3 以下(不含解压代码),突破1000字节。

如果再引入字典删去重复,将接近1/4,即压缩到接近900字节或少于900字节。

TOP

特殊编码存放测试[code]

TOP

  1. 亗儎厗噲墛媽崕彁憭摂晼
复制代码

TOP

本帖最后由 wankoilz 于 2011-5-17 23:56 编辑

楼上是什么意思,能不能讲解下。
哦...知道了,那是从chcp 437代码页复制过来的特殊符号吧...

TOP

把你的数据转了一下变成UNICODE编码,原来是个MZ头的PE文件,好像是下载用的。
将这些数据导入DEBUG,前面增加2个字节“FF FE”,即可变成新文本,大小1.5k,原文本是2.94k,接近减少一半。
然后将文本附加到bat里 copy /b newfile+my.bat mynew.bat
需要的时候,cmd /U /C more +n mynew.bat >temp
即可导出UNICODE编码文件,去掉FF FE就还原了。

压缩率不高,主要是00 没有做去重复处理。

TOP

原本以为UNICODE 编码占2个字节,也就是4个字符变成一个字符,比起 ASCII 压缩率要高,应该是1/4。

然而字符数目是短了,但是一个字符2字节,实际只减少了1/2。

TOP

PS: 这个“设计方案”所含的批处理代码不要过长,体积的计算要把这个“设计方案”所含代码和储存信息一起计算。

当然,如果方案能通用的话,可以适当放宽设计方案所含代码的长度

-----------------------------------

有人也许会问这个能干什么? 我说下应用,当然还是娱乐,但“娱乐度”比较高,呵呵。

有个霍夫曼编码,可以对所发报文以最短编码存储,我们把他应用到bat2any(利用debug写文件)那个程序里,可以最大限度的压缩文件的体积,

假如有人想把三方工具嵌入到bat中,这样体积可以压缩很多多多。。。。
plp626 发表于 2011-5-11 23:07

直接用二进制不就行了,和原来一样大。

TOP

  1. 4d5a9i3l4kffffib8s4/47eme1fba0egb409cd21b8014ccd21546869732070726f6772616d2063616e6e6f742062652072756e20696e20444f53206d6f64652e0d0d0a24s484cf28a0c2d9cd90c2d9cd90c2d9cd90c2d9cd90f2d9cd9633296d9072d9cd98f3192d90d2d9cd9633298d90f2d9cd90c2d9dd91c2d9cd93a0b96d90d2d9cd9526963680c2d9cd9/305045i4c0103gfab0b64e/10eif010b0106g8g1i1g2q7e02i5g2idg3m4h1l1m4t4seg5i5g2r3o1j1n1j1r1/172404i3c/a6dg3i44/362e74657874k7201i5g2i8g1i5g2/1c2j602e7264617461ica01idg3idg1idg3/1c4j402e64617461k3ckag5i4lag5/1c4jc0837c2404027e1f8b44240833c95151ff7g8ff7g451e85101i68bg54he803k59c3ccff25dg34h558bec6aff6818044h68bg34h64a1m50648925m83ec205356578965e88365fcg6a01ff15fc034h59830ddg54hff830dd4054hffff15f8034h8b0dcc054h8908ff15f4034h8b0dc8054h8908a1fg34h8bga3d8054he8c3k833db4054j750c68ac034hff15ec034h59e894k68ac054h68a8054he87fka1c4054h8945d88d45d850ff35cg54h8d45e0508d45d4508d45e450ff15e4034h68a4054h68ag54he84ckff15eg34h8b4de08908ff75e0ff75d4ff75e4e8effeffff83c4308945dc50ff15dc034h8b45ec8b088b09894dd05051e80fk5959c38b65e8ff75d0ff15d4034hff25d8034hff25e8034h68j3g68j1ge80dk5959c333c0c3c3ff25h44hff2504044hff250c044/1fa404ib804icg4ice04id604ie604if604j205i1605i2605i3605i4405i5605i6a05q7805/14ffffffff6e034h82034h6g4/14ac04idg3i9c04/148e05jc04/2ca404ib804icg4ice04id604ie604if604j205i1605i2605i3605i4405i5605i6a05q7805qa10270757473i4d53564352542e646c6cid3g5f65786974g48g5f5863707446696c746572g490265786974i64g5f5f705f5f5f696e6974656e76g58g5f5f6765746d61696e61726773hf015f696e69747465726dg83g5f5f736574757365726d617468657272i9dg5f61646a7573745f66646976i6ag5f5f705f5f636f6d6d6f6465i6fg5f5f705f5f666d6f6465i81g5f5f7365745f6170705f74797065icag5f6578636570745f68616e646c657233ib7g5f636f6e74726f6c667j3eg55524c446f776e6c6f6164546f46696c6541i75726c6d6f6e2e646c6c/304f4b21h1/56
复制代码
SOS --- >> lllsoslll@163.com

TOP

返回列表