Pregunta

Puede cadena de Zlib-comprimido contienen espacios en blanco? Por espacios en blanco que quiero decir '', \ n, \ t.

¿Fue útil?

Solución

Sí; es sólo un flujo de bytes. Cualquier valor de byte puede aparecer en allí (incluyendo el cero, que es más probable que causen problemas que los espacios en blanco!)

Otros consejos

Cualquier byte puede aparecer en una cadena zlib-descomprimidos.

De hecho, para una cadena bastante tiempo adecuadamente comprimido, cualquier byte (de 0 a 255) debe tener una más o menos la misma probabilidad, o de lo contrario la cadena podría estar más comprimido.

Puede ensayar lo siguiente - por ejemplo usando 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 ...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top