网上寻寻觅觅许久都没有找到以zlib那样的方式支持rar压缩解压的源代码或库,很郁闷。
rar官方只有一个仅能解压的unrar库,但是无法压缩啊。
有些人建议直接调用rar的可执行文件来做压缩和解压,这实在是下下策,况且我希望能对内存中的数据进行压缩解压,并非只想操作文件,故直接调用rar可执行文件的方式对于我来说不可行。各位大虾如果知道哪儿有这样的库,请不吝赐教啊,200分一定全额相送。

解决方案 »

  1.   

    只知道zlib或直接调用命令行,:(
      

  2.   

    你看看这个对你有没有用
    日文的,对付看一下吧,呵呵http://www.vector.co.jp/soft/dl/win95/util/se103203.html
      

  3.   

    这两个是免费的能解rar的软件,参考一下吧.Lhaca LhaPlus
      

  4.   

    郁闷啊,又搜索了半天,还是没找到,头都大了 :(
    Help!
      

  5.   

    不现实。而且RAR是有版权的,你可以用7ZIP,压缩率也比较高。
      

  6.   

    to binglingshuang(冰凌霜):谢谢你的回复,不过我需要的是既能压缩又能解压的库,unrar.dll 只能解压。
    一直困扰我的是压缩问题,总是找不到这样的库。
      

  7.   

    to sevencat(七猫):7zip是开源的吗?是不是跟zlib差不多的性质?
      

  8.   

    鄙视一下,压缩解压居然还不知道7zip
    http://www.7-zip.org/
    完全开源的。
      

  9.   

    http://www.7-zip.org/zh-cn/
    中文网站
      

  10.   

    呵呵,接受 7猫 的鄙视 :P不过我不是专门搞压缩解压软件的,而是项目中的某些数据太大并且需要长久保存,所以需要强力的压缩支持,达到节省空间的目的。BTW,7猫 跟 7-zip 有啥关系呀?呵呵
      

  11.   

    不过我搞不懂的是直接用ZLIB不就得了?
      

  12.   

    to sevencat(七猫):原先我也是这样想的,但是实际应用之后,出现了一个十分奇怪的现象:项目产生的一个200多兆的文件,我用 WinRAR 默认压缩能压缩到 8M 左右,但是用 WinRAR 的 ZIP 方式压缩则只能压缩到 170M 左右,我当即晕菜了,反复试验了多次,结果仍然差不多,我怀疑是项目所产生的原始数据正好是zip压缩的最差情况吧?
      

  13.   

    winrar里面的zip方式是选的最佳吗?
    感觉不太可能呀。
      

  14.   

    都选的是默认压缩。不过有一点要提一下:项目产生的200M数据,是由若干段经zlib压缩过的数据构成的(每段大概就1M左右),而且这些数据都跟静态图像有关。
      

  15.   

    to sevencat(七猫):想再请教一下您,我先把我的项目情况简单说一下:项目是个C/S方式的架构,客户端会频繁地向服务端传送某个图像中的感兴趣区域的内容,图像是输于静态图像,并且纯色块也比较多,每次传递的数据量不会太大也不算小,大概也就是1~2M左右。我现在的做法是:客户端先将原始数据用zlib压缩一次后,传送到服务端,服务端收到之后写入磁盘,如此重复下去。一段时间后,形成一个200多兆的文件,我认为该文件还有可压缩的空间,就用WinRAR默认方式压缩了一下,果然,变成了一个8兆多的文件;可是用WinRAR 默认 zip 方式压缩,竟然只能压缩到 170 兆左右,晕!
    现在我思考的问题是,若在客户端就用类似RAR这样的更高压缩比的算法来压缩,那么传送到服务端形成的文件会不会比200兆小很多?如果真是这样,岂不是能节省大量的网络带宽,有省存储空间?7 猫你觉得有这个可能吗?
      

  16.   

    个人认为不会。
    客户端可以传JPG压缩的过来,
      

  17.   

    JPG 是有损压缩,项目需要无损的。
    还有一个 PNG 格式也考虑过,但是据说 PNG 格式也是基于 zlib 的,感觉可能跟 zlib 差不了多少啊