Re[5]: сжатие строк gzip'om
От: desco США http://v2matveev.blogspot.com
Дата: 13.07.06 08:33
Оценка:
Здравствуйте, lumf, Вы писали:

L>>Здравствуйте, Mr Muskul, Вы писали:


MM>>>Вот работающий пример



L>>а что zip и gzip это одно и тоже?


L> не совсем, в любом случае тебе нужно решить конкретную задачку "необходимо сжать\разжать строку. вроде как начал двигаться в сторону вот этой тулзы ICSharpCode.SharpZipLib.dll"


L> так то оно так, но смотри сабж. мне нужно это реализовать gzipom


можно сделать так, с использованием все той же SharpZipLib
      string srcString = "...";
      
      byte[] srcBytes = Encoding.UTF8.GetBytes(srcString);
      
      MemoryStream compressedStream = new MemoryStream();
      using (GZipOutputStream outStream = new GZipOutputStream(compressedStream))
      {
        outStream.Write(srcBytes, 0, srcBytes.Length);
      }

      byte[] compressedBytes = compressedStream.ToArray();
      
      compressedStream = new MemoryStream(compressedBytes);
      MemoryStream targetStream = new MemoryStream();
      
      using (GZipInputStream inStream = new GZipInputStream(compressedStream))
      {
        byte[] buffer = new byte[2048];
        int bytesRead;
        while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) > 0)
        {
          targetStream.Write(buffer, 0, bytesRead);
        }
      }

      string resultString = Encoding.UTF8.GetString(targetStream.ToArray());
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.