导航:首页 > 文件处理 > zlib压缩字符串

zlib压缩字符串

发布时间:2022-01-14 03:25:26

❶ zip、bzip、lzma和ZLib如果极限压缩的话,那种压缩率最高除这几种之外,还有没有压缩率更高的压缩方式

LZMA和ZLIB压缩测试:
输出结果:
zlib压缩:255ms size:5.08MB
zlib解压:12ms
lzma压缩:1974ms size:5.11MB
lzma解压:399ms
LZMA.AS解压:27381ms
这结果真让人大失所望,不知道是不是测试的有问题,没有更小,反而更大了。而且解压时间长了几十倍。as版的LZMA解压时间更是无法接受。还是继续用zlib吧。

ZLIB最高

❷ C# zlib字符串解压

MemoryStream ms = new MemoryStream(bytes)

//这样的话ms有数据的
CopyStream(tempMs, outZStream);
//lz,你将tempMS赋值给了outZStream,不是ms赋值给outZStream啊
//因为MemoryStream tempMs = new MemoryStream();
//tempMs没有数据,但ms有数据,你将没有数据的tempMs赋值过去,outZStream当然是空的...

❸ 关于zlib解压缩的问题~

压缩与解压缩的时候,分别有2个不同的版本,分别是safe和普通的版本。2个版本要对应起来。

你在解压缩的时候,注意缓冲区大小了吗?缓冲区够用了吗?在压缩前,保存一下这个压缩前的原始的长度,然后解压前,分配一块至少这么大的内存。

你实际调试过吗?比如,你可以先去掉文件IO的过程,只是对一个字符串进行压缩/解压,然后看看是否正确;然后再加上文件IO,看看存取的过程是否正确。压缩后的文件应该以二进制方式打开对吧。

❹ 是否能用delphi的zlib解压php gzip压缩的字符串

可以使用 delphi 与 java 完成数据压缩还原的交通。
不管是 java还是 delphi,算法都有现成的控件,关键是要使用同样的压缩协议。请参考以下资料:
在Java与Delphi间交互实现Zlib压缩算法
http://blog.csdn.net/hexingyeyun/article/details/8678154

❺ 如何用zlib将很多文件或一个文件夹压缩

问题的根源在于这些网友对于字符串和字节流的概念非常的模糊,对文本文件和二进制文件的区别常常模棱两可,其实字节流可以表示所有的数据,二进制文件才是任何文件的本质。字节流是一个字节接一个字节,并没有结束符号

❻ java zlib 压缩和解压缩怎么实现

使用java.util.zip.ZipFile 类及相关的类实现

如解压缩
ZipInputStream zin = new ZipInputStream(in);
ZipEntry entry = null;
while((entry=zin.getNextEntry())!=null){
if(entry.isDirectory()||entry.getName().equals("..\\"))
continue;
BufferedInputStream bin = new BufferedInputStream(zin);
byte[] buf = new byte[];
bin.read(buf,0,1);
}

python中如何对文件进行 zlib压缩

文件读取以后也是一个大的字符串,整个一起压缩就可以了。

示例:

fin=open('in.txt','r')
fout=open('out.txt','w')
str=fin.read()
//compressstr
fout.write(compressed_str)
fout.close()
fin.close()

❽ zlib 怎么压缩为deflate格式

先来看看 zlib 都提供了那些函数, 都在zlib.h中,看到一堆宏不要晕,其实都是为了兼容各种编译器和一些类型定义.死死抓住那些主要的函数的原型声明就不会受到这些东西的影响了.

关键的函数有那么几个:

(1)int compress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);

把源缓冲压缩成目的缓冲, 就那么简单, 一个函数搞定

(2) int compress2 (Bytef *dest, uLongf *destLen,const Bytef *source, uLong sourceLen,int level);

功能和上一个函数一样,都一个参数可以指定压缩质量和压缩数度之间的关系(0-9)不敢肯定这个参数的话不用太在意它,明白一个道理就好了: 要想得到高的压缩比就要多花时间

(3) uLong compressBound (uLong sourceLen);

计算需要的缓冲区长度. 假设你在压缩之前就想知道你的产度为 sourcelen 的数据压缩后有多大, 可调用这个函数计算一下,这个函数并不能得到精确的结果,但是它可以保证实际输出长度肯定小于它计算出来的长度

(4) int uncompress (Bytef *dest, uLongf *destLen,const Bytef *source, uLong sourceLen);

解压缩(看名字就知道了:)

(5) deflateInit() + deflate() + deflateEnd()

3个函数结合使用完成压缩功能,具体用法看 example.c 的 test_deflate()函数. 其实 compress() 函数内部就是用这3个函数实现的(工程 zlib 的 compress.c 文件)

(6) inflateInit() + inflate() + inflateEnd()

和(5)类似,完成解压缩功能.

(7) gz开头的函数. 用来操作*.gz的文件,和文件stdio调用方式类似. 想知道怎么用的话看example.c 的 test_gzio() 函数,很easy.

(8) 其他诸如获得版本等函数就不说了.

总结: 其实只要有了compress() 和uncompress() 两个函数,在大多数应用中就足够了.

阅读全文

与zlib压缩字符串相关的资料

热点内容
怎么添加网名文件夹 浏览:767
啊哈算法语言 浏览:675
马来西亚加密货币政策 浏览:231
交通银行app锁定怎么解锁 浏览:44
php登录验证session 浏览:728
粤政易文件放在手机哪个文件夹 浏览:105
打印机和传真命令 浏览:548
php添加购物车 浏览:5
安卓怎么下载植物大战僵尸1无尽版 浏览:267
程序员上班下班难吗 浏览:299
梦的pdf微盘 浏览:186
材料结构分析pdf 浏览:795
程序员预研的项目 浏览:346
新华保险服务器登录不上怎么回事 浏览:397
气温高时汽车空调压缩机振动 浏览:563
分配器python 浏览:228
outlook服务器怎么查询 浏览:400
python预测疫情代码 浏览:982
普通化学原理pdf 浏览:908
java的圣经 浏览:41