Domanda

Può stringa zlib-compressa contengono spazi bianchi? Con spazi voglio dire '', \ n, \ t.

È stato utile?

Soluzione

Sì; è solo un flusso di byte. Qualsiasi valore di byte può apparire in là (compreso lo zero, che è più probabile che a causare problemi di spazi bianchi!)

Altri suggerimenti

Ogni byte può apparire in una stringa zlib-compresed.

In realtà, per una stringa abbastanza a lungo correttamente compressa, qualsiasi byte (da 0 a 255) dovrebbe avere una probabilità più o meno uguali, altrimenti la corda potrebbe essere ulteriormente compresso.

Si può provare da soli - ad esempio utilizzando 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 ...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top