Моя невеличка допоміжна програма стискання... підтверджена версія (Українська (Ukrainian))

Моя невеличка допоміжна програма стискання... підтверджена версія

Tuesday, 06 April 2004

//

2 minute read

Я вже розмістив на курсі помічника стиснення і майже відразу зрозумів, що він страждав від "маленької затримки" - отже, його так сильно змінили протягом місяців, що він був дійсно поганим! В будь-якому разі, показана нижче є модифікованою версією того класу (на якій я також випробував мою нову схему форматування) як нагадування, це просто обгортка навколо SharpZipLib.

використання системи;

за допомогою System.Text;

за допомогою System.IO;

за допомогою ICSapCode.SapZipLib;

Space SerializableJob. Compresession

{

публічний набір стискання

{

GZip,

BZip2,

Zip

}

Стискання публічного класу

{

published StriverType Provider = spressedType.GZip;

private Steam Stream Postream inputStream)

{

switch}CoresionProvider)

{

scoreType. BZip2:

return new ICSapCode.SapZipLib. BZip2. BZip2OutputStream} {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

specialType.GZip:

return new ICSapCode.SapZipLib.GZip.GZipOutPutStream} {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

caseType. Zip:

return new ICSapCode.SapZipLib. Zip. ZipOutPutStream} {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

типовий:

return new ICSapCode.SapZipLib.GZip.GZipOutPutStream} {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

}

}

privaal Steam InternetStream inputStream)

{

switch}CoresionProvider)

{

scoreType. BZip2:

return new ICSapCode.SapZipLib. BZip2. BZip2 InputStream}ТутСтрем);

specialType.GZip:

return new ICSapCode.SapZipLib.GZip.GZipInputStream} {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

caseType. Zip:

return new ICSapCode.SapZipLib. Zip. ZipInputStream} {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

типовий:

return new ICSapCode.SapZipLib.GZip.GZipInputStream} {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

}

}

публічний статичний байт[] Compress}байт[] bytesTompress)

{

MemoryStream ms = new MemoryStram}

Потік s = ВивідСтемс);

  1. NW} collectionsToComres, 0, байтівTompress. Length);

  2. close);

return ms. Toreath);

}

публічний статичний рядок Compress}рядковий рядок для доповнення)

{

byte[] стиснуті Data = CompressToByte}рядок ToCompares);

string strOut = Convert. ToBase64String} compressedData);

return strOut;

}

публічний статичний байт[] CompressToByte} Рядок для доповнення) Description of a condition. Do not translate key words (# V1S #, # V1 #,)

{

byte[] bytData = Encoding.Unicode. GetBytes}рядокToCompares);

return Compress}bytData);;

}

публічний рядок DeComples}рядковий рядок ToDepress)

{

string outString = string.Empty;

if (рядок ToDecком == null)

{

кинути новий ArgumentNullExce} "рядокToDepress" "Ви намагалися використовувати порожній рядок";

}

спробувати

{

byte[] inArr = Convert. FromBase64String}рядок ToDepress. Trims});

outString = System.Text.Encoding.Unicode.GetStringDeCompares});

}

patch (NullReferenceExcoding nEx)

{

return nEx.Message;

}

return outString;

}

публічний статичний байт[] DeCompares} specificate[] байтівToDepress)

{

byte[] writeData = новий байт[4096];

Потік s2 = InputStream ♪

MemoryStream outStream = new MemoryStream}

while} Так)

{

int розмір = s2. Readify}% 2, writeData.Length);

if}ize>0)

{

outStream. Write=priteData, 0. size);

}

else

{

break;

}

}

s2.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >

byte[] outArr = outStream. toream);

outStream. close});

returnArrt;

}

}

} ?>

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.