标签: zlib

结合放气和缩小 - 我创造了开销吗?

我使用google.codes minify来动态缩小我的css和js文件.我还设置了我的.htaccess在我的所有css和js文件上使用deflate - 这是因为某些js文件(如shadowbox和tinymce)引用了代码中的其他js文件.所以我用apache deflate进行压缩,并用gzip缩小压缩一些js和css文件 - 我通过这样做创建开销 - 首先gzipping(minify)然后zlib(deflate)将再次运行.或者apache deflate忽略已经gzip压缩的文件,这些文件在头文件中具有minify设置的属性.有人有这方面的经验吗?

gzip zlib mod-deflate minify

6
推荐指数
1
解决办法
1656
查看次数

TCompressionStream使用数据初始化

SPDY协议指定使用预定义的数据块初始化名称/值数据的压缩:

http://mbelshe.github.com/SPDY-Specification/draft-mbelshe-spdy-00.xml#rfc.section.2.6.9.1

(zlib压缩的工作方式是,对于"看起来"再次出现更多的字符串,它将使用更少的位,因此如果您使用通常的嫌疑人预加载压缩,那么在压缩之后您可能会得到更少的位当时.但现在我真正的问题:)

这可能来自ZLib单元的Delphi的TCompressionStream吗?

delphi zlib

6
推荐指数
1
解决办法
1136
查看次数

有没有办法用另一个库解压缩DynaZip Max文件?FE DotNetZip

我有一个数据库,我们使用以下代码存储使用DynaZip Max Secure压缩的pdf文件:

MemoryStream msIN = new System.IO.MemoryStream();   //Input MemoryStream
MemoryStream msZip = new System.IO.MemoryStream();  //Compressed MemoryStream
BinaryReader objBinaryReader;
BinaryWriter objBinaryWriter;


public MemoryStream CompressStream(byte[] vbuf)
{
    System.IO.BinaryWriter bw = new System.IO.BinaryWriter(msIN);
    bw.Write(vbuf);
    CDZipSNET dz1 = new CDZipSNET();
    dz1.ZipMemToMemCallback += new CDZipSNET.OnZipMemToMemCallback(this.ZipMemToMemCallback_event);
    dz1.ActionDZ = CDZipSNET.DZACTION.ZIP_MEMTOMEM;
    return msZip;
}
Run Code Online (Sandbox Code Playgroud)

这是ZipMemToMemCallback_event代码:

public void ZipMemToMemCallback_event(CDZipSNET.MEMTOMEMACTION lAction,ref byte[] lpMemBuf,ref uint pdwSize,uint dwTotalReadL,uint dwTotalReadH,uint dwTotalWrittenL,uint dwTotalWrittenH,ref CDZipSNET.MEMTOMEMRESPONSE plRet)
{
    int bytesToRead;

    switch(lAction)
    {
        case CDZipSNET.MEMTOMEMACTION.MEM_READ_DATA:
            if((dwTotalReadL == 0) && (dwTotalReadH == 0))
            {
                msIN.Seek(0, System.IO.SeekOrigin.Begin);
                objBinaryReader …
Run Code Online (Sandbox Code Playgroud)

c# zip gzip zlib dotnetzip

6
推荐指数
1
解决办法
1214
查看次数

用 boost 过滤流替换 std::ofstream 的参数语法

关于 boostfiltering_streams 的一些基本问题。我有几十个函数接受 std::ofstream& 的参数

void foo(std::ofstream& outStream)
{
    // lots of operations, like this:
    outStream << "various bits of text";
}

void StreamSomeTextToFile(char* fileName)
{
    ofstream myFileStream(fileName, ios::out | ios::app | ios::binary);
    foo(myFileStream);
    myFileStream.close();
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用 boost filtering_stream 输出到压缩的 ZIP 文件。用于打包和解包的常用boost filtering_streams 测试代码已编译、链接并非常适合我。我想替换filtering_stream:

void StreamSomeCompressedTextToFile(char* fileName)
{
    ofstream myFileStream(destPath, std::ios_base::out | std::ios_base::app | std::ios_base::binary);
    boost::iostreams::filtering_streambuf<boost::iostreams::output> myCompressedFileStream;
    myCompressedFileStream.push(boost::iostreams::zlib_compressor());
    myCompressedFileStream.push(myFileStream);

    foo(myCompressedFileStream);    // I can't just pass myCompressedFileStream to foo(std::ofstream&), right?
    myFileStream.close();
}
Run Code Online (Sandbox Code Playgroud)

三个问题:

1) 我之前接受 std::ofstream& outStream 的所有函数现在都需要接受 boost::iostreams::filtering_streambuf& 类型的参数吗?或者是否有适当的参数类型,以便那些众多(“foo”)函数可以与任何一种类型的流类型一起使用?

2) …

c++ boost zlib boost-iostreams

6
推荐指数
1
解决办法
1909
查看次数

如何让node.js zlib gunzip管道工作?

我有一个大的.gz文件(大小约为100Mb),但是,当我使用以下代码处理文件时,输出的文件只有256k.

var fs = require('fs'), zlib = require('zlib');

var inp1 = fs.createReadStream('feed.xml.gz');
var out1 = fs.createWriteStream('feed.xml');

inp1.pipe(zlib.createGunzip()).pipe(out1);
Run Code Online (Sandbox Code Playgroud)

问题似乎与zlib.createGunzip()管道有关.

有没有办法来解决这个问题?我想尝试直接从互联网流式传输.

zlib pipe gunzip node.js

6
推荐指数
0
解决办法
1108
查看次数

PHP 中的 ZLIB 支持是否默认启用?

在 phpmanual 的文档中它说:

默认情况下未启用 PHP 中的 Zlib 支持。您将需要配置 PHP --with-zlib[=DIR]

PHP 的 Windows 版本内置了对此扩展的支持。您无需加载任何其他扩展即可使用这些功能。

所以正如它所说的那样,它应该只在 Windows 版本的 PHP 中默认启用。

但是我从存储库在我的 linux 机器上安装了 PHP 和 Apache,然后我注意到它已经启用。使用了这些命令:

sudo apt-get install apache2
sudo apt-get install php5 php-pear
Run Code Online (Sandbox Code Playgroud)

这是否意味着如果您从存储库安装 PHP,它也会默认启用?

此外,我尝试从源代码安装 PHP,而不添加--with-zlib[=DIR]配置,只是为了检查是否zlib支持。根据 phpmanual 上的文档,它不应该。

我不是编译专家,所以我找到了从源代码安装 php 的教程,然后我做了以下步骤:

apt-get install libxml2-dev
apt-get install build-essential

wget http://in1.php.net/distributions/php-5.3.28.tar.bz
tar -xvjf php-5.3.28.tar.bz
cd php-5.3.28
./configure --prefix /usr/local/php5
------ I configure it without --with-zlib[=DIR]    ---------
make
make test
make install
Run Code Online (Sandbox Code Playgroud)

最后我运行这一行让它与 apache 一起工作:

apt-get install …
Run Code Online (Sandbox Code Playgroud)

php linux apache ubuntu zlib

6
推荐指数
1
解决办法
1万
查看次数

使用 pako.js 未捕获错误的标头检查

function loadFileAsBinary()
{
    var fileToLoad = document.getElementById("fileToLoad").files[0];

    var fileReader = new FileReader();

    fileReader.onload = function(fileLoadedEvent) 
    {
        var textFromFileLoaded = fileLoadedEvent.target.result;

        var rs       = textFromFileLoaded;

        var charData = rs.split('').map(function(x){return x.charCodeAt(0);}); 
        console.log(charData);

        var bindata  = new Uint8Array(charData);
        console.log(bindata);

        var plain    = pako.inflate(bindata, {to: 'string' });

        var strData  = String.fromCharCode.apply(null, new Uint16Array(plain));

        document.getElementById("inputTextToSave").value = strData;

    };

    fileReader.readAsBinaryString(fileToLoad);
}
Run Code Online (Sandbox Code Playgroud)

我想膨胀上传文件,但这个函数给出了一个错误:

未捕获错误的标头检查

javascript zlib

6
推荐指数
1
解决办法
9096
查看次数

Java解压缩用zlib deflate压缩的字符串

正如标题所说.如何解压缩用zlib压缩压缩的压缩字符串?用解释做这件事的可靠方法是什么?

java zlib deflate

6
推荐指数
1
解决办法
1万
查看次数

短字符串的压缩

我正在尝试压缩短字符串(最多 15 个字符)。

目标是实现“标准化压缩距离”[1],我在 python 中尝试了一些压缩算法(我还想看看是否可以在 Julia 中做到这一点,但包都拒绝安装)。我最终总是得到比我试图压缩的原始字符串更长的位字符串,这完全违背了目的。

zlib 的示例:

import zlib
data = b"this is a test"

compressed_data = zlib.compress(data, 9)
print(len(data))
print(len(compressed_data))
Run Code Online (Sandbox Code Playgroud)

返回:

13
21
Run Code Online (Sandbox Code Playgroud)

你现在知道我做错了什么,或者我怎样才能更有效地做到这一点?

[1]:https://arxiv.org/pdf/cs/0312044.pdf

python compression zlib julia

6
推荐指数
2
解决办法
2473
查看次数

Python 3 gzip 会关闭 fileobj 吗?

gzipPython 3 的文档指出

\n
\n

调用 GzipFile 对象\xe2\x80\x99s close() 方法不会关闭 fileobj,因为您可能希望在压缩数据后附加更多材料

\n
\n

这是否意味着如果我们执行以下操作,gzip 文件处理程序f_in不会关闭

\n
import gzip\nimport shutil\nwith gzip.open(\'/home/joe/file.txt.gz\', \'rb\') as f_in:\n    with open(\'/home/joe/file.txt\', \'wb\') as f_out:\n        shutil.copyfileobj(f_in, f_out)\n
Run Code Online (Sandbox Code Playgroud)\n

如果是这样,如果多次执行此代码,是否会导致泄漏?

\n

python compression gzip zlib python-3.x

6
推荐指数
1
解决办法
443
查看次数