[VB-PHP] Gzip string de/compressionsmethode

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von joniator.

    [VB-PHP] Gzip string de/compressionsmethode

    Hallo
    Gibt es kompatible gzip funktionen (komprimieren und dekomprimieren), die in php und vb gleich funktionieren?
    Also ich benutz zz die methode von unseren netten AliveDevil (GZip Komprimierung und Dekomprimierung mit Base64)
    Währ nett wenns das selbe in php auch gäbe...
    mfg
    Wer Rechtschreibfehler findet darf sie behalten :)
    Nein, sorry das geht leider nicht: prntscr.com/6gl725


    Edit: Ok funktioniert jetzt mit dem vb code:

    VB.NET-Quellcode

    1. Public Shared Function Compress(ByVal text As String) As String
    2. Dim buffer1() As Byte = Encoding.UTF8.GetBytes(text)
    3. Dim memoryStream As New IO.MemoryStream()
    4. Using gZipStream As New GZipStream(memoryStream, CompressionMode.Compress, True)
    5. gZipStream.Write(buffer1, 0, buffer1.Length)
    6. End Using
    7. memoryStream.Position = 0
    8. Dim compressedData(0 To memoryStream.Length) As Byte
    9. memoryStream.Read(compressedData, 0, compressedData.Length)
    10. Return Convert.ToBase64String(compressedData)
    11. End Function

    (vom c# code von neowin.net/forum/topic/994146-…p-compatible-string-gzip/ )
    und dekomprimieren auf php geht so:

    PHP-Quellcode

    1. <?php
    2. echo gzdecode (base64_decode("H4sIAAAAAAAEAPNUyMkvS1UoS9ItSCxKTMksTtVLSQUAYWMAkxUAAAAA"));
    3. ?>


    Weis wer wie ich in vb das nun dekomprimiere?

    Edit 2: ok nun funzt alles, die dekompression lautet so:

    VB.NET-Quellcode

    1. Public Shared Function UnZip(compressedText As String) As String
    2. Using ms As New IO.MemoryStream(),
    3. gzs As New IO.MemoryStream(Convert.FromBase64String( _
    4. compressedText)),
    5. zipStream As New System.IO.Compression.GZipStream(gzs, _
    6. System.IO.Compression.CompressionMode.Decompress)
    7. zipStream.CopyTo(ms)
    8. Return System.Text.Encoding.UTF8.GetString(ms.ToArray())
    9. End Using
    10. End Function


    somit funktioniert nun auch das damit:

    PHP-Quellcode

    1. <?php
    2. $compressed = base64_encode(gzencode('Komprimiere nicht', 9));
    3. echo $compressed;
    4. echo("<br/>");
    5. echo gzdecode (base64_decode("H4sIAAAAAAAEAEssTklLTMrJT8wpBgA4joPuCwAAAAA="));
    6. ?>

    Wer Rechtschreibfehler findet darf sie behalten :)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „joniator“ ()