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
Il mio piccolo helper di compressione... versione migliorata
Tuesday, 06 April 2004
Ho pubblicato la mia classe di assistenti alla compressione prima e mi sono reso conto quasi immediatamente che soffriva di 'legacy lagM SK1 - quindi è stato cambiato così tanto negli mesi che era davvero cattivo! Comunque, è una versione modificata di quella classe (che io'ho provato anche il mio nuovo schema di formatazione suM SK3 come riminatoreMSC4 è solo un semplice wrapper intorno SharpZipLib.
usando System;
usando il sistema.Text;
usando il sistema.IO;
usando ICSharpCode.SharpZipLib;
namespace SerializableJob.Compressione
{
public enum CompressionType
{
GZip,
BZip2,
Zip
}
Compressione di classe pubblica
{
Public static CompressionType CompressionProvider = Compression TypeM SK1GZip;
Stream Private Statica OutputStream(InputStremaStream )
{
switch(CompressionProvider)
{
Case CompressionType.BZip2:
restituire il nuovo ICSharpCode.SharpZipLib.BZipM SK2B Zip 2OutputStreamMSC4inputStream≥);
Case CompressionType.GZip:
restituire il nuovo ICSharpCode.SharpZipLib.GZipM SK2G ZipOutputStreamMSC3inputStream≥);
tipo di compressione.Zip
restituire il nuovo ICSharpCode.SharpZipLib.ZipM SK2ZepOutputStreamMSC3inputStream≥);
default:
restituire il nuovo ICSharpCode.SharpZipLib.GZipM SK2G ZipOutputStreamMSC3inputStream≥);
}
}
Stream InputStream(Stream inputStream )
{
switch(CompressionProvider)
{
Case CompressionType.BZip2:
restituire il nuovo ICSharpCode.SharpZipLib.BZipM SK2B Zip 2InputStreamMSC4inputStream≥);
Case CompressionType.GZip:
restituire il nuovo ICSharpCode.SharpZipLib.GZipM SK2G ZipInputStreamMSC3inputStream≥);
tipo di compressione.Zip
restituire il nuovo ICSharpCode.SharpZipLib.ZipM SK2ZepInputStreamMSC3inputStream≥);
default:
restituire il nuovo ICSharpCode.SharpZipLib.GZipM SK2G ZipInputStreamMSC3inputStream≥);
}
}
Byte statico pubblico[] Compress[]BytesToCompress)
{
MemoryStream ms = nuovo MemoryStream();
Stream s = OutputStream(msM SK2
- ScrivereM SK1bytesToCompress,0, bytesToCompression .LongthMSC4
s.Close();
restituire ms.ToArray();
}
String Statico Publico Compress(string stringToCompress )
{
Byte[] dati compressi = CompressToByteM SK2stringToCompress);
string strOut = Convertire.ToBaseM SK2StringMSC3compressedData );
tornare strOut;
}
Byte statico pubblico[] CompressToByteM SK1string stringToCompress)
{
Byte[] bytData = Encoding.UnicodeM SK3GetBytesMSC4stringToCompressMST5
tornare Compress(bytData);;
}
String pubblico DeCompress(string stringToDecompress )
{
string outString = string.EmptyM SK2
Se (stringToDecompress == null)
{
lanciare un nuovo ArgumentNullException("stringToDecompress","hai cercato di usare una stringa vuotaM SK2
}
provare
{
Byte[] inArr = ConvertireM SK2FromBase64StringMNK4stringToDecompressMRK5TrimMMK6
outString = System.Texto .EncodazioneM SK3UnicodeMSC4GetStringMska5DeCompressMske6inArrMске7
}
Cattura (NullReferenceException nEx)
{
restituire nEx.Message;
}
tornare fuoriString;
}
Byte statico pubblico[] DeCompress(byte[]BytesToDecompress)
{
Byte[] writeData = nuovo byte[4096];
Stream s2 M SK1 InputStream(new MemoryStream (bytesToDecompressMSC4
MemoryStream outStream = nuovo MemoryStream();
Mentre(true)
{
dimensione int = sM SK1Read(writeDataMSC3w writeData .LongthMST5
se(grandità>0)
{
outStream.WriteM SK1writeData,0,size );
}
Un altro.
{
interrompere;
}
}
s2.Close();
Byte[] outArr = outStreamM SK2ToArray();
outStream.Close();
tornare fuoriArr;
}
}
} ?>