/// <summary> /// Decompresses array of bytes. /// </summary> /// <param name="dest">destination bytes array</param> /// <param name="source">original bytes array</param> /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param> /// <returns>Has the operation been successfull?</returns> public static ZLibError Zip(byte[] dest, byte[] source, ZLibQuality quality = ZLibQuality.Default) { // get the size of the destination array int destLength = dest.Length; // execute the decompress return(Zip(dest, ref destLength, source, source.Length, quality)); }
public static unsafe ZLibError Pack(Span <byte> dest, ref ulong destLength, ReadOnlySpan <byte> source, ulong sourceLength, ZLibQuality quality) { fixed(byte *dPtr = &MemoryMarshal.GetReference(dest), sPtr = &MemoryMarshal.GetReference(source)) { return(Compressor.Compress(Unsafe.AsRef <int>(dPtr), ref destLength, Unsafe.AsRef <int>(sPtr), sourceLength, quality)); } }
public ZLibError Compress (byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { long destLengthLong = destLength; ZLibError z = SafeNativeMethods.compress2(dest, ref destLengthLong, source, sourceLength, quality); destLength = (int)destLengthLong; return(z); }
public static unsafe ZLibError Pack(Span <byte> dest, ref int destLength, ReadOnlySpan <byte> source, int sourceLength, ZLibQuality quality) { var destLengthLong = (ulong)destLength; fixed(byte *dPtr = &MemoryMarshal.GetReference(dest), sPtr = &MemoryMarshal.GetReference(source)) { var e = Compressor.Compress(Unsafe.AsRef <int>(dPtr), ref destLengthLong, Unsafe.AsRef <int>(sPtr), (ulong)sourceLength, quality); destLength = (int)destLengthLong; return(e); } }
public ZLibError Compress(Stream inStream, Stream outStream, ref int outLength, ZLibQuality quality) { ZOutputStream outZStream = new ZOutputStream(outStream, (int)quality); outZStream.FlushMode = zlibConst.Z_FULL_FLUSH; try { CopyStream(inStream, outZStream); outZStream.Flush(); outStream.Flush(); outLength = (int)outStream.Position; } // TODO: Catch exceptions, return error codes //catch (ZStreamException) //{ // return ZLibError.StreamError; //} finally { outZStream.Close(); inStream.Close(); } return(ZLibError.Okay); }
public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { using (MemoryStream msOut = new MemoryStream(dest, true)) using (MemoryStream msIn = new MemoryStream(source, 0, sourceLength, false)) return(Compress(msIn, msOut, ref destLength, quality)); }
public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { ulong destLengthLong = (ulong)destLength; ZLibError z = compress2(dest, ref destLengthLong, source, sourceLength, quality); destLength = (int)destLengthLong; return z; }
public static ZLibError Pack(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { return Compressor.Compress(dest, ref destLength, source, sourceLength, quality); }
public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { return(compress2(dest, ref destLength, source, sourceLength, quality)); }
public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { ulong destLengthLong = (ulong)destLength; ZLibError z = compress2(dest, ref destLengthLong, source, sourceLength, quality); destLength = (int)destLengthLong; return(z); }
/// <summary> /// Compresses array of bytes. /// </summary> /// <param name="dest">Destination byte array.</param> /// <param name="destLength">Destination length (Sets it).</param> /// <param name="source">Source byte array.</param> /// <param name="sourceLength">Source length.</param> /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param> /// <returns><see cref="ZLibError.Okay"/> if okay.</returns> public static ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { if (Environment.Is64BitProcess) { try { return(compress64(dest, ref destLength, source, sourceLength, quality)); } catch { throw new ArgumentException("DLLNotFoundException: Move Zlib32.dll and Zlib64.dll to output directory (same folder as UoFiddler application) after you compile."); } } return(compress(dest, ref destLength, source, sourceLength, quality)); }
/// <summary> /// Compresses array of bytes. /// </summary> /// <param name="dest">Destination byte array.</param> /// <param name="destLength">Destination length (Sets it).</param> /// <param name="source">Source byte array.</param> /// <param name="sourceLength">Source length.</param> /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param> /// <returns><see cref="ZLibError.Okay"/> if okay.</returns> public static ZLibError Zip(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality = ZLibQuality.Default) { // is the compress request at default quality? if (quality == ZLibQuality.Default) { // use the 32/64bit dll to compress return(Environment.Is64BitProcess ? Compress64(dest, ref destLength, source, sourceLength) : Compress(dest, ref destLength, source, sourceLength)); } else // quality specified? { // use the 32/64bit dll to compress return(Environment.Is64BitProcess ? Compress64(dest, ref destLength, source, sourceLength, quality) : Compress(dest, ref destLength, source, sourceLength, quality)); } }
/// <summary> /// Decompresses array of bytes. /// </summary> /// <param name="dest">destination bytes array</param> /// /// <param name="destLength">Destination length (Sets it).</param> /// <param name="source">original bytes array</param> /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param> /// <returns>Has the operation been successfull?</returns> public static ZLibError Zip(byte[] dest, ref int destLength, byte[] source, ZLibQuality quality = ZLibQuality.Default) { // execute the decompress return(Zip(dest, ref destLength, source, source.Length, quality)); }
private static extern ZLibError Compress64(byte[] dest, ref int destLen, byte[] source, int sourceLen, ZLibQuality quality);
internal static extern ZLibError compress2( byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality);
internal static extern ZLibError compress2(byte[] dest, ref long destLength, byte[] source, long sourceLength, ZLibQuality quality);
private static extern unsafe ZLibError _Compress64(byte[] dest, ref Int32 destLenght, byte[] source, Int32 sourceLenght, ZLibQuality quality);
public static ZLibError Pack(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { return(Compressor.Compress(dest, ref destLength, source, sourceLength, quality)); }
/// <summary> /// Compresses array of bytes. /// </summary> /// <param name="dest">Destination byte array.</param> /// <param name="destLength">Destination length (Sets it).</param> /// <param name="source">Source byte array.</param> /// <param name="sourceLength">Source length.</param> /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param> /// <returns><see cref="ZLibError.Okay"/> if okay.</returns> public static ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { if (Environment.Is64BitProcess) { return(compress64(dest, ref destLength, source, sourceLength, quality)); } return(compress(dest, ref destLength, source, sourceLength, quality)); }
private static extern ZLibError compress2(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality);
public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { return SafeNativeMethods.compress2(dest, ref destLength, source, sourceLength, quality); }
public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { return compress2(dest, ref destLength, source, sourceLength, quality); }
/// <summary> /// Compresses array of bytes. /// </summary> /// <param name="dest">Destination byte array.</param> /// <param name="destLength">Destination length (Sets it).</param> /// <param name="source">Source byte array.</param> /// <param name="sourceLength">Source length.</param> /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param> /// <returns><see cref="ZLibError.Okay"/> if okay.</returns> public static ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality) { if (SystemInfo.IsX64) { return(compress64(dest, ref destLength, source, sourceLength, quality)); } return(compress(dest, ref destLength, source, sourceLength, quality)); }
private static extern ZLibError compress2(byte[] dest, ref ulong destLength, byte[] source, int sourceLength, ZLibQuality quality);