tengo un métodoStreamReader.ReadToEnd() devuelve una cadena vacía
private static String DecompressAndDecode(byte[] data)
{
GZipStream decompressor = new GZipStream(new MemoryStream(data), CompressionMode.Decompress);
StreamReader decompressed = new StreamReader(decompressor, Encoding.UTF8);
String result = decompressed.ReadToEnd();
return result;
}
tengo un poco de texto gzipped como entrada y el resultado se supone que es una representación de cadena de este texto. El problema es que el método devuelve una cadena vacía. Lo que me desconcierta es que cuando paso por el método en modo de depuración y llego a la declaración de devolución la variable de resultado es una cadena vacía, pero si creo un reloj para la expresión descompressed.ReadToEnd() me devuelve el texto. Lo que esperaría en este punto es la variable de resultado para contener el texto y la expresión descompressed.ReadToEnd() evaluando una cadena vacía. (Reevaluando la expresión descomprimida.ReadToEnd() devuelve una cadena vacía como se esperaba).
@Edit: he encontrado que en mi caso ReadToEnd() devuelve el texto en la segunda llamada devolver cadenas vacías en la primera llamada y después de la segunda llamada.
Debe haber algo obvio que me falta aquí.
¿La codificación es realmente UTF8? –
Sí, es UTF8. – axk