标签: compression

你如何在python中解压缩非常大的文件?

使用python 2.4和内置ZipFile库,我无法读取非常大的zip文件(大于1或2 GB),因为它想要将未压缩文件的全部内容存储在内存中.有没有其他方法可以做到这一点(使用第三方库或其他一些黑客),或者我必须"解决"并以这种方式解压缩(显然不是跨平台).

python compression zip unzip

17
推荐指数
2
解决办法
9469
查看次数

从C#NET 3.5中的byte []保存文件

我的TCP客户端在数据包中接收图像.图像使用zlib压缩.任务是解压缩图像并将其放在表单上.

我打算将压缩的图像保存在当前目录中,解压缩并在表单上加载解压缩的文件.

第一个问题是保存文件(压缩).zlib可以保存解压缩.

下面的代码加载压缩文件并在解压缩后保存.

    private void decompressFile(string inFile, string outFile)
    {
        System.IO.FileStream outFileStream = new System.IO.FileStream(outFile, System.IO.FileMode.Create);
        zlib.ZOutputStream outZStream = new zlib.ZOutputStream(outFileStream);
        System.IO.FileStream inFileStream = new System.IO.FileStream(inFile, System.IO.FileMode.Open);          
        try
        {
            CopyStream(inFileStream, outZStream);
        }
        finally
        {
            outZStream.Close();
            outFileStream.Close();
            inFileStream.Close();
        }
    }

    public static void CopyStream(System.IO.Stream input, System.IO.Stream output)
    {
        byte[] buffer = new byte[2000];
        int len;
        while ((len = input.Read(buffer, 0, 2000)) > 0)
        {
            output.Write(buffer, 0, len);
        }
        output.Flush();
    }
Run Code Online (Sandbox Code Playgroud)

如何将byte []数组直接传递给该函数?我打算将其保存为压缩文件,然后使用压缩文件的位置调用该函数,但我不知道如何从byte []数组中保存文件,也不知道传递byte []数组的方法作为输入文件.

任何帮助将受到高度赞赏.

谢谢.

c# compression zlib .net-3.5

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

Arduino:轻量级压缩算法,用于将数据存储在EEPROM中

我想用ATmega168/ATmega328微控制器将大量数据存储到我的Arduino上,但不幸的是,只有256 KB/512 KB的EEPROM存储空间.

我的想法是利用压缩算法去除大小.但是,我对压缩算法的了解非常少,而且我对即用型库的搜索失败了.

那么,是否有一种优化存储大小的好方法?

compression embedded algorithm atmega arduino

17
推荐指数
2
解决办法
2万
查看次数

动态压缩无法正常工作IIS 7.5

我目前配置了静态和动态压缩.静态压缩正在工作,但是当通过YSlow和Fiddler检查时,动态压缩不起作用.

在我的applicationHost.config中,我有以下设置:

<urlCompression doStaticCompression="true" doDynamicCompression="true"
    dynamicCompressionBeforeCache="true" />
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"
    maxDiskSpaceUsage="100" minFileSizeForComp="256">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"
        dynamicCompressionLevel="1" />
    <dynamicTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="*/*" enabled="true" />
    </dynamicTypes>
    <staticTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/atom+xml" enabled="true" />
        <add mimeType="application/xaml+xml" enabled="true" />
        <add mimeType="*/*" enabled="true" />
    </staticTypes>
</httpCompression>
<serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="01:00:00" />
Run Code Online (Sandbox Code Playgroud)

我的web.config有:

<urlCompression doStaticCompression="true"
    doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
Run Code Online (Sandbox Code Playgroud)

这些模块已经安装,当我使用Failed Request Trace时,我得到了几个动态压缩命中,但没有成功或失败.只是这些类型的结果:

ModuleName DynamicCompressionModule 
Notification …
Run Code Online (Sandbox Code Playgroud)

compression iis-7 http dynamic http-compression

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

IIS7中的urlCompression是什么?

在我的ASP.NET web.config中,我有这个:

<urlCompression doDynamicCompression="true" />
Run Code Online (Sandbox Code Playgroud)

我到这儿来找到答案:

http://www.iis.net/ConfigReference/system.webServer/urlCompression

...但它并没有真正解释什么是URL压缩.任何人都可以对此进行简单的解释吗?

compression url networking iis-7 web-config

17
推荐指数
1
解决办法
8078
查看次数

Uglify-js不会破坏变量名称

试图为我的js库准备好的构建环境.根据网络上的评论,UglifyJS似乎是最好的压缩模块之一,在NodeJS下工作.所以这里是建议缩小代码的最佳方法:

var jsp = require("uglify-js").parser;
var pro = require("uglify-js").uglify;

var orig_code = "... JS code here";
var ast = jsp.parse(orig_code); // parse code and get the initial AST
ast = pro.ast_mangle(ast); // get a new AST with mangled names
ast = pro.ast_squeeze(ast); // get an AST with compression optimizations
var final_code = pro.gen_code(ast); // compressed code here
Run Code Online (Sandbox Code Playgroud)

如此处所示,pro.ast_mangle(ast)应该修改变量名称,但事实并非如此.我从这个管道中得到的只是javascript代码,没有空格.起初我认为我的代码没有针对压缩进行优化,但后来我尝试使用Google Closure并进行了相当大的压缩(包含变量名称和所有内容).

UglifyJS专家,任何暗示我做错了什么?

更新:

实际代码太大,无法在此处引用,但即使是这样的代码段也不会被破坏:

;(function(window, document, undefined) {

    function o(id) {
        if (typeof id !== …
Run Code Online (Sandbox Code Playgroud)

javascript compression performance minify uglifyjs

17
推荐指数
2
解决办法
3万
查看次数

在java中压缩和解压缩7z文件

我想使用java代码将文件压缩为zip,rar和7z格式.我还想在指定的位置解压缩这些文件.谁能告诉我如何在java中使用7-zip压缩和解压缩文件?

java compression 7zip

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

将gzip文件解压缩到特定目录

什么是以下命令的gzip等价物:

tar xvzf /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
Run Code Online (Sandbox Code Playgroud)

我在尝试

gzip -d /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
Run Code Online (Sandbox Code Playgroud)

但它不起作用,我怎么用gzip做到这一点?

compression gzip

17
推荐指数
3
解决办法
8万
查看次数

bitmap.compress(Bitmap.CompressFormat.PNG,0,fOut)使图像大小比原始大

我想将从相机拍摄的图像压缩为png格式,使它们的尺寸更小,所以我使用这个代码:

compressedPictureFile = new File(imagePath);
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
FileOutputStream fOut = new FileOutputStream(compressedPictureFile);
boolean compressed = bitmap.compress(Bitmap.CompressFormat.PNG, 0, fOut);
fOut.flush();
fOut.close();
Run Code Online (Sandbox Code Playgroud)

问题是compressedPictureFile实际上比原始图像(从1 Mb到6Mb)更大

我错过了什么?这是减少图像大小的最佳方法吗?

谢谢

compression android image-resizing bitmapfactory

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

使用zlib压缩多个文件

以下代码将压缩一个文件.如何压缩多个文件

var gzip = zlib.createGzip();
var fs = require('fs');
var inp = fs.createReadStream('input.txt');
var out = fs.createWriteStream('input.txt.gz');

inp.pipe(gzip).pipe(out);
Run Code Online (Sandbox Code Playgroud)

compression gzip zlib node.js

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