Я знаю, что этот вопрос задавался ранее в Stackoverflow, но не смог найти объяснения.
Когда я пытаюсь прочитать строку из сжатого массива байтов, я получаю пустую строку с первой попытки, со второй я добился успеха и получил строку.
Пример кода:
public static string Decompress(byte[] gzBuffer)
{
if (gzBuffer == null)
return null;
using (var ms = new MemoryStream(gzBuffer))
{
using (var decompress = new GZipStream(ms, CompressionMode.Decompress))
{
using (var sr = new StreamReader(decompress, Encoding.UTF8))
{
string ret = sr.ReadToEnd();
// this is the extra check that is needed !?
if (ret == "")
ret = sr.ReadToEnd();
return ret;
}
}
}
}
Все предложения приветствуются. - Виктор Кассель