每当我看到一些使用GZip压缩的源包或二进制文件时,我想知道是否还有理由支持gz超过xz(不包括到2000年的时间旅行),LZMA压缩算法的节省是巨大的,并且解压缩的幅度不会比gzip的.
我使用两个PHP脚本移动大量数据:一个在客户端使用命令行PHP脚本,另一个在Apache后面.我将数据发布到服务器端并使用php://输入流将其保存在Web服务器端.为防止达到任何内存限制,每个POST请求的数据将分为500kB块.这一切都很好.
现在,为了节省带宽并加快速度,我希望在发送之前压缩数据,并在另一端接收时解压缩.我找到了3对可以完成这项工作的功能,但我无法决定使用哪一个:
你会推荐哪一对功能?为什么?
更新:我刚读过zlib FAQ:
gzip format(gzencode)旨在保留有关单个文件的目录信息,例如名称和上次修改日期.gzcompress另一方面,zlib格式()设计用于内存和通信通道应用程序,并且具有更紧凑的头部和尾部,并且使用比gzip更快的完整性检查.
我做了一个小帮手功能:
import zipfile
def main(archive_list=[],zfilename='default.zip'):
print zfilename
zout = zipfile.ZipFile(zfilename, "w")
for fname in archive_list:
print "writing: ", fname
zout.write(fname)
zout.close()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
问题是我的所有文件都没有被压缩!这些文件的大小相同,实际上只是扩展名被更改为".zip"(在本例中为".xls").
我在winXP sp2上运行python 2.5.
是否很容易使用python从gz压缩的文本文件中读取一行而不完全提取文件?我有一个text.gz文件,它是200mb.当我提取它时,它变成7.4gb.这不是我必须阅读的唯一文件.对于整个过程,我必须阅读10个文件.虽然这将是一项顺序工作,但我认为在没有提取整个信息的情况下这样做是明智之举.我甚至不知道这是可能的.如何使用python完成?我需要逐行阅读文本文件.
静态/ js /中有一些js文件
1. a.js
2. b.js
3. c.js
Run Code Online (Sandbox Code Playgroud)
如何配置grunt.js以获取以下文件:
1. a.min.js
2. b.min.js
3. c.min.js
Run Code Online (Sandbox Code Playgroud)
到目前为止,我必须输入特定的文件名:
min: {
dist: {
src: 'js/**/*.js',
dest: 'js/min/xxx.min.js'
}
}
Run Code Online (Sandbox Code Playgroud) 如果我对AES加密文件,然后对其进行ZLIB压缩,那么压缩效率是否会低于我先压缩然后加密的效率?
换句话说,我应该先压缩还是首先加密,还是重要?
我需要一个在android中使用GZip压缩字符串的示例.我想向方法发送一个像"hello"这样的字符串并获得以下压缩字符串:
BQAAAB + LCAAAAAAABADtvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee ++ 997o7nU4n99 // P1xmZAFs9s5K2smeIYCqyB8/fnwfPyLmeVlW/W + GphA2BQAAAA ==
然后我需要解压缩它.谁能给我一个例子并完成以下方法?
private String compressString(String input) {
//...
}
private String decompressString(String input) {
//...
}
Run Code Online (Sandbox Code Playgroud)
谢谢,
更新
根据scessor的回答,现在我有以下4种方法.Android和.net压缩和解压缩方法.除一种情况外,这些方法彼此兼容.我的意思是它们在前3个状态中兼容但在第4个状态下不兼容:
- 状态1)Android.compress < - > Android.decompress :( 好的)
- 状态2)Net.compress < - > Net.decompress :( 好的)
- 状态3)Net.compress - > Android.decompress :( 好的)
- 状态4)Android.compress - > .Net.decompress :( 不行)
任何人都可以解决它吗?
Android方法:
public static String compress(String str) throws IOException {
byte[] blockcopy = ByteBuffer
.allocate(4)
.order(java.nio.ByteOrder.LITTLE_ENDIAN)
.putInt(str.length())
.array();
ByteArrayOutputStream …Run Code Online (Sandbox Code Playgroud) 假设我有一个单页应用程序,它使用第三方API作为内容.应用程序的逻辑仅在浏览器中,并且没有我可以写入的后端.
为了允许深度链接到应用程序的状态,我使用pushState来跟踪确定应用程序状态的一些变量(注意Ubersicht的公共版本还没有这样做).在这种情况下repos,labels,milestones和username,show_open(布尔)和with_comments(布尔)和without_comments(布尔).URL格式是?label=label_1,label_2,label_3&repos=repo_1….值通常是嫌疑人,大致[a-zA-Z][a-zA-Z0-9_-]或任何布尔指标.
到现在为止还挺好.现在,因为查询字符串可能有点长而且不实用,并且我希望能够传递类似http://espy.github.io/ubersicht/?state=SOMOPAQUETOKENTHATLOSSLESSLYDECOMPRESSESINTOTHEORIGINALVALUES#hoodiehq的URL ,越短越好.
我的第一次尝试是使用一些类似zlib的算法(https://github.com/imaya/zlib.js)和@flipzagging指向antirez/smaz(https // github.com/antirez/smaz)听起来更适合短字符串(JavaScript版本在https://github.com/personalcomputer/smaz.js).
由于=和&没有具体处理https://github.com/personalcomputer/smaz.js/blob/master/lib/smaz.js#L9,我们也许能够调整的东西有一点点.
此外,还有一个选项可以对固定表中的值进行编码,例如,参数的顺序是预定义的,我们需要跟踪的是实际值.例如,可能在smaz压缩之前a=hamster&b=cat变成7hamster3cat(长度+字符)或仓鼠|猫(值+ |).
还有什么我应该找的吗?
你用什么来最小化和压缩JavaScript库?
我正在使用PIL通过将较大的图像转换为较小的图像来调整图像的大小.有没有任何标准的方法来减少图像的文件大小而不会过多地损失质量,让我们说图像的原始大小是100KB,我想把它降低到5或10 KB,特别是对于png和jpeg格式.
compression ×10
javascript ×3
python ×3
gzip ×2
zip ×2
.net ×1
aes ×1
android ×1
browser ×1
encryption ×1
gruntjs ×1
image ×1
jscompress ×1
large-files ×1
lzma ×1
minimize ×1
performance ×1
php ×1
url ×1
xz ×1
zipfile ×1
zlib ×1