如果你有学过数据结构什么的你就会知道一些基本的压缩原理,举个例子:
现有字串:a15bbbbbcd,哪么如果我门定义一规则,当字符重复时用#开头紧跟字每再跟个数,则字串变成a15#b5cd,这样是不是已把字串压缩了呢,只是这是个最简单的算法了,它还有很多要完善的地方。
 至于怎么读入可执行文件,就把它当成二进制来读进来就可以了。

解决方案 »

  1.   

    必须要了解ZIP的压缩原理,你才能知道WinZip的压缩原理。
    就像你知道JPEG文件的格式,就可以自己编制JPEG图片的显示道理一样。
      

  2.   

    你可以在USES中引用ZLIB,再用TCompressStream(加压流)与TDeCompressStream(解压流),这样就可以不去接触那些什么什么算法了(当然你可以看看ZLIB.BAS学学),解压时流的前两个字节好像只能是$78与$9C,并且如果要解压ZIP文件还要一些其它操作
      

  3.   

    如果我编了一个可以压缩10000倍的算法,它比winzip好吗?
      

  4.   

    》如果我编了一个可以压缩10000倍的算法,它比winzip好吗?除非是非常特别的数据,如连续10000个零。^_^
    否则你如果编出来了,那你是上帝了。^_^
    先学一下信息论,数据中包含了一定的信息量,这在信息论中称为熵,任何无损压缩算法都不可能把数据压到小于它包含的熵,不论什么算法。