Back to "Min lilla kompressionsassistent...om förbättrad version"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

Imported mostlylucidcouk

Min lilla kompressionsassistent...om förbättrad version

Tuesday, 06 April 2004

Jag laddade upp min kompressionsassistentklass innan och insåg nästan omedelbart att den lider av "'", "legacy lag," ', - så den МSK3 har förändrats så mycket under de månaderna att den var riktigt dålig. Hursomhelst, den här bilden är en modifierad version av den klassen, som jag också provat på i min nya formateringsschema. SharpZipLib.

med System;

med hjälp av System

med hjälp av System

med hjälp av ICSharpCode .SharpZipLib;

Namespace SerializableJob.Kompression

{

public enum Kompressionstyp

{

GZip,

BZip2,

Zip

}

offentlig klass Kompression

{

offentlig statisk kompressionstyp Kompressions-Provider = Compressions प्रकार .GZipM SK2

privat statisk ström utgångStromen(Strom ingångStrumen )

{

strömbrytare(KompressionProvider)

{

fall Kompressionstyp.BZip2:

ge tillbaka den nya ICSharpCoden.SharpZipLib.BZipM SK2B Zip 2OutputStreamMSC4inputStream≥);

fall Kompressionstyp.GZip:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipOutputStream

fall Kompressionstyp.Zip:

ge tillbaka den nya ICSharpCoden .SharpZipLib.Zip

default:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipOutputStream

}

}

privat statisk Stream InputStream(Stream inputStream )

{

strömbrytare(KompressionProvider)

{

fall Kompressionstyp.BZip2:

ge tillbaka den nya ICSharpCoden.SharpZipLib.BZipM SK2B Zip 2InputStreamMSC4inputStream≥);

fall Kompressionstyp.GZip:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipInputStream

fall Kompressionstyp.Zip:

ge tillbaka den nya ICSharpCoden.SharpZipLib.Zip

default:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipInputStream 

}

}

offentlig statisk byte[] Komprimera[] byter för att komprimera)

{

MemoryStream ms = ny MemoryStream();

Stream s = OutputStream(msM SK2

  1. skriva ( byter för att komprimera

s.CloseM SK1

ge tillbaka ms.ToArray();

}

offentlig statisk string Komprimera(string stringToKompressa )

{

byte[] komprimerade data = CompressToByte

string strOut = Konvertera.ToBase

ge tillbaka strOut;

}

offentlig statisk byte[] CompressToByte(string stringToCompress

{

byte[] bytdata | = | Kodering |. | Enkoder | МSK3 | GetBytes | ( | Sträng för att komprimera

återkomma Komprimera(bytData);;

}

offentlig string DeCompress(string stringToDecompress )

{

string outString = string.OttystM SK2

om (stringToDecompress == null

{

werfen nya ArgumentNullException("stringToDecompressM SK1Ni försökte använda en tom string");

}

att försöka

{

byte[] inArr = Konvertera.VomBaseMSC3StringM SK4stringToDekompressaMska5TrimM Ska6

outString = System

}

få tag (NullreferensException nExM SK1

{

ge tillbaka nEx.Message;

}

återvänder utString;

}

offentlig statisk byte[] DeCompress[] byterAtkomprimera)

{

byte[] writeData = nytt byt[4096];

Strom s2 = InputStream ( ny minnesström, ( byter för att dekomprimera,));

MemoryStream outStream = ny MemoryStream();

medan

{

int-storlek = sM SK1Read(skrivdata ,0,skriv dataMska4LängdMka5

om(storlek>0)

{

utströmning. skriva ( skrivadata M SK2 storlek );

}

annat

{

bryta;

}

}

s2.CloseM SK1

byte[] utArr

outStream.Close();

återvända utArr;

}

}

} ?>

logo

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