Frage

Kann zlib-komprimierte Zeichenfolge Leerzeichen enthalten? Leerzeichen meine ich '', \ n, \ t.

War es hilfreich?

Lösung

Ja; es ist nur ein Strom von Bytes. Jedes Byte-Wert kann dort erscheinen (einschließlich Null, was wahrscheinlicher ist, dass Sie auf Probleme verursachen als Leerzeichen!)

Andere Tipps

Jedes Byte kann in einem zlib-compresed Zeichenfolge angezeigt.

In der Tat, für eine lange genug richtig komprimierten String, eine beliebige Byte (von 0 bis 255) sollte eine mehr oder weniger haben die gleiche Wahrscheinlichkeit, sonst könnte die Zeichenfolge weiter komprimiert.

Sie können diese versuchen, sich selbst - zum Beispiel mit Python:

>>> z = open('/dev/urandom').read(1000000).encode('zlib') # compress a long string of junk
>>> [z.count(chr(i)) for i in range(256)] # number of occurrences of each byte
[3936, 3861, 3978, 3951, 3858, 3937, 3945, 3828, 3984, 3871, 3985, 
 3961, 3879, 3924, 3817, 3984, 3963, 3858, 4029, 3903, 3884, 3817, 
 ... yada ...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top