Comprimir cadeia Gzip em Ruby

Como eu escreveria um método para compactar uma string Gzip que não contenha um arquivo de cabeçalho e tê-lo compactado exatamente da maneira que estava antes de descompactá-lo. A compressão original é feita em C # e estou inflando em Ruby usando o seguinte método:

EDIT: basicamente,Eu gostaria que o método deflate correspondente para isso inflar:

def inflate(string)
    zstream = Zlib::Inflate.new(-Zlib::MAX_WBITS)
    buf = zstream.inflate(string)
    zstream.finish
    zstream.close
    buf
end

Antes de descomprimir, a string é:

"5\x891\n\xC30\x10\x04{\xBDb\xEB\xE0F&\x81\xA4\xCA3\xDC\xA81\xD2\x1A]\xA1\x13\xB1.\x100\xFEF\xDE\e\x19\x9Cb\x99Yf\xCA\xB3A\x1A,\x13\xB1\x96R\x15I\x96\x85+5\x12\xA2=\xF4:\xAFb\xB9\xD0$\xA2\xF1\xF5>\xDA\xD3\xB9\x9A\xA8f\xFC\xD8\xE6\xFD\x00\x7F\xEB{\f!Uk{\xCF,\x91\xDC\x1C\x10J\xC4\xF7z\xCA\xE8p9\xF8\xFF\xF7\x93\xDEw\xD9\x7F"

E depois de descomprimir usando inflar, é:

    "What is the common difference in this arithmetic sequence?\n\n\\indenttext{11, 15, 19,\\dots}\n\n\\emcee{\n  \\mc \x964\n  \\mc 2\n *\\mc 4\n  \\mc 8\n  \\mc 11\n  }"

Eu tentei criar vários métodos de esvaziamento, mas nenhum que pode recuperá-lo para o original. Obrigado pela ajuda!

EDIT: A compressão original foi feita no .NET 2.0 usando o seguinte

byte[] compressedStringBytes = CompressGzipString(String);

e CompressGzipString faz:

MemoryStream compressed = new MemoryStream();
DeflaterOutputStream zosCompressed = new DeflaterOutputStream(compressed, new Deflater(Deflater.BEST_COMPRESSION, true));
zosCompressed.Write(data, 0, data.Length);

Se não for possível chegar ao original exato, qual seria a compressão mais padronizada, ou seja, geral e que poderia ser descompactada da mesma forma que o original?

questionAnswers(2)

yourAnswerToTheQuestion