Сжать строку Gzip в Ruby

Как бы я написал метод для сжатия строки Gzip, которая не содержит заголовочный файл, и чтобы он сжимался точно так, как это было до того, как я распаковал его. Оригинальное сжатие сделано в C #, и я раздуваю в Ruby, используя следующий метод:

РЕДАКТИРОВАТЬ: в основном,Я хотел бы, чтобы соответствующий метод дефлята на это раздувать

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

Перед распаковкой строка выглядит так:

"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"

И после распаковки с использованием Inflate, это: I '

    "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  }"

мы пытались создать несколько методов deflate, но ни один из них не может вернуть его к оригиналу. Спасибо за вашу помощь!

РЕДАКТИРОВАТЬ: оригинальное сжатие было сделано в .NET 2.0 с использованием следующего

byte[] compressedStringBytes = CompressGzipString(String);

и CompressGzipString делает:

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

Если оно'не возможно ли получить его до точного оригинала, каким будет наиболее стандартизированное сжатие, под которым я подразумеваю общее и которое можно будет распаковать так же, как оригинал?

Ответы на вопрос(2)

Ваш ответ на вопрос