Здравствуйте, lumf, Вы писали:
L>необходимо сжать\разжать строку. вроде как начал двигаться в сторону вот этой тулзы ICSharpCode.SharpZipLib.dll L>но там я так понял все для работы с файлами архивов.
В dot.net 2.0 есть класс GZipCompression и в мсдн есть примеры.
Здравствуйте, denisio_mcp, Вы писали:
_>Здравствуйте, lumf, Вы писали:
L>>необходимо сжать\разжать строку. вроде как начал двигаться в сторону вот этой тулзы ICSharpCode.SharpZipLib.dll L>>но там я так понял все для работы с файлами архивов.
_>В dot.net 2.0 есть класс GZipCompression и в мсдн есть примеры.
Здравствуйте, denisio_mcp, Вы писали:
_>Здравствуйте, lumf, Вы писали:
L>>необходимо сжать\разжать строку. вроде как начал двигаться в сторону вот этой тулзы ICSharpCode.SharpZipLib.dll L>>но там я так понял все для работы с файлами архивов.
не совсем, скорее на потоки, т.е. строку оборачиваешь например в MemoryStream
using (MemoryStream ms = new MemoryStream(Encoding.Default.GetBytes(s))){}
и потом ее декодируешь.
пример к сожалению привести не могу, т.к. использовался в fw 2.0 ( про GZipCompression тогда и не подозревал )
_>В dot.net 2.0 есть класс GZipCompression и в мсдн есть примеры.
Здравствуйте, lumf, Вы писали:
L>Здравствуйте, Mr Muskul, Вы писали:
MM>>Вот работающий пример
L>а что zip и gzip это одно и тоже?
не совсем, в любом случае тебе нужно решить конкретную задачку "необходимо сжать\разжать строку. вроде как начал двигаться в сторону вот этой тулзы ICSharpCode.SharpZipLib.dll"
L>Здравствуйте, Mr Muskul, Вы писали:
MM>>Вот работающий пример
L>а что zip и gzip это одно и тоже?
не совсем, в любом случае тебе нужно решить конкретную задачку "необходимо сжать\разжать строку. вроде как начал двигаться в сторону вот этой тулзы ICSharpCode.SharpZipLib.dll"
так то оно так, но смотри сабж. мне нужно это реализовать gzipom
Здравствуйте, 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());