CSc*_*f x 6 python compression
为什么压缩字符串的大小更大?zlib不需要压缩吗??
例子:
import zlib
import sys
str1 = "abcdefghijklmnopqrstuvwxyz"
print "size1: ", sys.getsizeof(str1)
print "size2: ", sys.getsizeof(zlib.compress(str1))
Run Code Online (Sandbox Code Playgroud)
输出:
size1: 47
size2: 55
Run Code Online (Sandbox Code Playgroud)
你将很难压缩这样的字符串。它相当短,包含 26 个独特的字符。压缩器通过将字节值分配给常见单词、字符等来工作,因此如果使用所有唯一字符,性能会很差。
如果数据是随机的,您的性能也会很差。
这是一个具有相同长度的压缩字符串的示例。
>>> str2 = 'a'*26
>>> str2
'aaaaaaaaaaaaaaaaaaaaaaaaaa'
>>> sys.getsizeof(str2)
63
>>> sys.getsizeof(zlib.compress(str2))
48
Run Code Online (Sandbox Code Playgroud)