vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Binärdaten als String komprimieren 
Autor: Dilbert
Datum: 04.04.22 13:17

Hi,
ich bekomme von einem Modul einen String mit wirren Binärdaten.
(Leider habe ich keinen Einfluss auf das Datenformat)
Diese Daten sollen komprimiert werden.
Leider klappt das nicht.
Ich habe das Encoding im Verdacht, da ich schonmal an andere Stelle Ärger damit hatte.
Aber ich bastele hier seit Stunden und komme nicht weiter.
Mein Beispielcode braucht nur ein Form mit 3 Textboxen (Multiline) und einen Button:

Public Class Form1
      ' Encoding hier zentral ändern:
      Dim Enco As System.Text.Encoding = System.Text.Encoding.Default
      Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
        Button1.Click
            Dim Eingabe As String = "Test:  "
            ' Wirre Daten einfüllen:
            For x As Int32 = -32768 To 65535  ' 0 To 127 geht!  
                  Eingabe &= (ChrW(x)) & " "
            Next
            ' Einmal Compressen und Decompressen:
            Dim CompressedText As String = MyCompress(Eingabe)
            Dim Ausgabe As String = MyDecompress(CompressedText)
            'Ausgabe (nur zur Kontrole ...):
            TextBox1.Text = Eingabe
            TextBox2.Text = Ausgabe
            TextBox3.Text = CompressedText
            ' Vergleich (Rot = schlecht ...):
            If Eingabe = Ausgabe Then
                  TextBox2.BackColor = Color.LightGreen
            Else
                  TextBox2.BackColor = Color.LightSalmon
            End If
      End Sub
      Function MyCompress(ByVal str As String) As String
            Dim Erg As String = ""
            Using output As New IO.MemoryStream()
                  Using gzip As New IO.Compression.DeflateStream(output, _
                    IO.Compression.CompressionMode.Compress)
                        Using writer As New IO.StreamWriter(gzip, Enco)
                              writer.Write(str)
                        End Using
                  End Using
                  Erg = Enco.GetString(output.ToArray)
            End Using
            Return Erg
      End Function
      Function MyDecompress(ByVal input As String) As String
            Dim Erg As String = ""
            Using inputStream As New IO.MemoryStream(Enco.GetBytes(input))
                  Using gzip As New IO.Compression.DeflateStream(inputStream, _
                    IO.Compression.CompressionMode.Decompress)
                        Using reader As New IO.StreamReader(gzip, Enco)
                              Erg = reader.ReadToEnd
                        End Using
                  End Using
            End Using
            Return Erg
      End Function
End Class
Bei "Klick" werden Binärdaten generiert, dann einmal komprimiert und DEkomprimiert.
Bei einem anschließenden Vergleich sind die Daten aber unterschiedlich.
Da ich keine Fehlermeldung bekomme und in der "Befüll-Schleife" die normalen ASCII-Werte (0-127) gehen, denke ich an das Encoding. Ich habe inzwischen aber alle üblichen Encodings getestet.
Kennt jemand eine grundsätzlich andere Vorgehensweise?
Oder habe ich da nur etwas verbockt?

Bye,

Dilbert

--
while (!asleep()) sheep++;

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Binärdaten als String komprimieren1.262Dilbert04.04.22 13:17
Re: Binärdaten als String komprimieren690eierlein04.04.22 14:32
Re: Binärdaten als String komprimieren600Dilbert04.04.22 14:33
Re: Binärdaten als String komprimieren690Kuno6004.04.22 21:06
Re: Binärdaten als String komprimieren607Dilbert05.04.22 09:31
Re: Binärdaten als String komprimieren664Kuno6005.04.22 18:11
Re: Binärdaten als String komprimieren567Dilbert05.04.22 18:51
Re: Binärdaten als String komprimieren672eierlein05.04.22 19:22
Re: Binärdaten als String komprimieren561Dilbert05.04.22 19:51
Re: Binärdaten als String komprimieren641Manfred X06.04.22 16:28
Re: Binärdaten als String komprimieren645Manfred X07.04.22 01:08
Re: Binärdaten als String komprimieren566Dilbert06.04.22 18:37
Re: Binärdaten als String komprimieren561Dilbert07.04.22 09:47
Re: Binärdaten als String komprimieren660Manfred X07.04.22 13:09
Re: Binärdaten als String komprimieren551Dilbert07.04.22 17:15
Re: Binärdaten als String komprimieren629Kuno6007.04.22 19:27
Re: Binärdaten als String komprimieren559Dilbert07.04.22 20:05
Re: Binärdaten als String komprimieren547Kuno6013.04.22 11:43
Re: Binärdaten als String komprimieren543Dilbert10.04.22 11:35
Re: Binärdaten als String komprimieren614Manfred X10.04.22 15:25
Re: Binärdaten als String komprimieren586eierlein10.04.22 17:32
Re: Binärdaten als String komprimieren523Dilbert10.04.22 18:40
Re: Binärdaten als String komprimieren579eierlein10.04.22 19:07
Re: Binärdaten als String komprimieren534Dilbert10.04.22 21:28
Re: Binärdaten als String komprimieren601Manfred X11.04.22 16:27
Re: Binärdaten als String komprimieren516Dilbert11.04.22 20:35
Vorschlag für Umwandlung der Zeichenfolgen in Bytefolgen566Manfred X11.04.22 22:04
Re: Binärdaten als String komprimieren515Dilbert11.04.22 23:03
Re: Binärdaten als String komprimieren565Manfred X11.04.22 23:59
Re: Binärdaten als String komprimieren533Dilbert11.04.22 23:19
Re: Binärdaten als String komprimieren572Manfred X12.04.22 01:12
Re: Binärdaten als String komprimieren533Dilbert12.04.22 11:11
Re: Binärdaten als String komprimieren554Manfred X12.04.22 13:54
Re: Binärdaten als String komprimieren514Dilbert12.04.22 15:00
Re: Binärdaten als String komprimieren556Manfred X12.04.22 15:54
Re: Binärdaten als String komprimieren550Manfred X12.04.22 16:43
Re: Binärdaten als String komprimieren517Dilbert12.04.22 17:59
Re: Binärdaten als String komprimieren543Manfred X12.04.22 19:30
Re: Binärdaten als String komprimieren515Dilbert12.04.22 20:48
Re: Binärdaten als String komprimieren548Manfred X12.04.22 21:38
Re: Binärdaten als String komprimieren523Dilbert12.04.22 22:33
Re: Binärdaten als String komprimieren517Dilbert13.04.22 12:52
Re: Binärdaten als String komprimieren536Manfred X13.04.22 17:05
Re: Binärdaten als String komprimieren532Kuno6014.04.22 12:34
Re: Binärdaten als String komprimieren509Dilbert14.04.22 18:16
Re: Binärdaten als String komprimieren541Manfred X14.04.22 21:22
Marshal String zu Bytearray545Manfred X14.04.22 23:59
Re: Binärdaten als String komprimieren522Manfred X14.04.22 19:05
Re: Binärdaten als String komprimieren495Dilbert15.04.22 20:48
Marshal Bytearray zu String516Manfred X15.04.22 21:26
Re: Binärdaten als String komprimieren503Dilbert17.04.22 22:45
Re: Binärdaten als String komprimieren515Manfred X18.04.22 00:15
Re: Binärdaten als String komprimieren523Dilbert18.04.22 01:49

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel