die zlib-Komprimierung von ByteArray?

Habe ich diese unkomprimiert byte-array:

0E 7C BD 03 6E 65 67 6C 65 63 74 00 00 00 00 00 00 00 00 00 42 52 00 00 01 02 01
00 BB 14 8D 37 0A 00 00 01 00 00 00 00 05 E9 05 E9 00 00 00 00 00 00 00 00 00 00
00 00 00 00 01 00 00 00 00 00 81 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 05 00 00 01 00 00 00

Und ich muss es komprimieren mit dem deflate-Algorithmus (implementiert in zlib), von dem, was ich gesucht das äquivalent in C# wäre mit GZipStream aber ich kann nicht mit den komprimierten führte bei allen.

Hier ist das komprimieren code:

public byte[] compress(byte[] input)
{
    using (MemoryStream ms = new MemoryStream())
    {
        using (GZipStream deflateStream = new GZipStream(ms, CompressionMode.Compress))
        {
            deflateStream.Write(input, 0, input.Length);
        }
        return ms.ToArray();
    }
}

Hier ist das Ergebnis der oben komprimieren code:

1F 8B 08 00 00 00 00 00 04 00 ED BD 07 60 1C 49 96 25 26 2F 6D CA 7B 7F 4A F5 4A
D7 E0 74 A1 08 80 60 13 24 D8 90 40 10 EC C1 88 CD E6 92 EC 1D 69 47 23 29 AB 2A
81 CA 65 56 65 5D 66 16 40 CC ED 9D BC F7 DE 7B EF BD F7 DE 7B EF BD F7 BA 3B 9D
4E 27 F7 DF FF 3F 5C 66 64 01 6C F6 CE 4A DA C9 9E 21 80 AA C8 1F 3F 7E 7C 1F 3F
22 7E 93 9F F9 FB 7F ED 65 7E 51 E6 D3 F6 D7 30 CF 93 57 BF C6 AF F1 6B FE 5A BF
E6 AF F1 F7 FE 56 7F FC 03 F3 D9 AF FB 5F DB AF 83 E7 0F FE 35 23 1F FE BA F4 FE
AF F1 6B FC 1A FF 0F 26 EC 38 82 5C 00 00 00

Hier ist das Ergebnis ich erwarte:

78 9C E3 AB D9 CB 9C 97 9A 9E 93 9A 5C C2 00 03 4E 41 0C 0C 8C 4C 8C 0C BB 45 7A
CD B9 80 4C 90 18 EB 4B D6 97 0C 28 00 2C CC D0 C8 C8 80 09 58 21 B2 00 65 6B 08
C8

Was ich falsch mache, könnte jemand mir helfen ?

Warum erwarten Sie, dass die gleiche Ausgabe von verschiedenen Implementierungen? Es gibt viele Möglichkeiten zum komprimieren Sie einige Inhalte, die dekomprimiert werden kann, die mit der gleichen decompressor. Aber in deinem Fall den zip-stream scheint zu der Ausgabe eine Art header.
Nicht nur ist die GZipStream das Ergebnis anders, aber es ist größer als die unkomprimierte Eingabe!
viel habe ich schon verstanden, das ist, warum ich bin auf der Suche nach, wie man Sie iqual, indem Sie versuchen, um herauszufinden, was ich falsch mache, wie ich erwähnt habe, die ich brauche, um die Verwendung des deflate-implementation von zlib, die in C#. @CodeInChaos ich wusste nicht, es war eine andere Implementierung, die ich war auf der Suche um und ich fand einige Antworten, die besagt, dass die GZip-war das äquivalent für die es ich es herauszufinden, dass es war nicht, als ich anfing, es zu testen.
Abgesehen von der Zunahme der Größe, ich nehme an, es ist ein anderes Programm decompresing. Wie geht das zusammen?

InformationsquelleAutor Guapo | 2011-06-08

Schreibe einen Kommentar