LabVIEWForum.de
String komprimieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: String komprimieren (/Thread-String-komprimieren)



String komprimieren - _techniker_ - 06.08.2015 16:49

Hi,

ich bekomme von einem externen Prüfgerät einen ~2,5MB langen ASCII-String (für das menschliche Auge ist dies reiner "Datenmüll"), der in einer MySQL-DB gespeichert werden muss. Um nun nicht täglich >6GB an Daten zu generieren, würde ich diesen ASCII-String vorher gerne komprimieren. Nur wie? Confused

Hat da jemand einen Tipp für mich? Cool


RE: String komprimieren - GerdW - 06.08.2015 16:57

Hallo techniker,

stupider Ansatz: String in eine Datei speichern, ZIPpen, Datei wieder als String einlesen und in der Datenbank ablegen.

Eleganter Ansatz: dein String wird ja nicht nur aus Datenmüll bestehen, sondern sinnvolle Daten enthalten. Wenn man deren Struktur kennt, kann man evtl. einen efiizienteren Komprimieralgorithmus anwenden…


RE: String komprimieren - _techniker_ - 06.08.2015 17:04

Der Datenmüll ist ein verschlüsselter Datensatz bestehend aus Kalibrierdaten, Gerätedaten usw. und entsprechender Aufbereitung, dass dieser nur aus ASCII-Zeichen besteht.
Auf den Schlüssel zum entschlüsseln habe ich keinen (bzw. nicht ohne weiteres) Zugriff. Angry

Auf den Umweg über das Dateisystem bin ich auch schon gekommen bzw. es funktioniert.
Leider ist dies alles andere als elegant und ich dachte, dass die LV-Gurus hier bestimmt eine Inline-Idee haben.. Big Grin


RE: String komprimieren - _techniker_ - 06.08.2015 17:46

Lösung:
https://decibel.ni.com/content/docs/DOC-7200

(~2,5MB => <100kB!)

Dance


RE: String komprimieren - jg - 06.08.2015 17:51

OpenG Zip Tools!!!
Enthält 2 Funktionen zum "Inflate/Deflate" eines Strings im Speicher.
[attachment=53778]
Die darin enthaltenen Zip-Funktionen arbeiten zwar auch mit Files, aber mit ein wenig Arbeit kann man sich auch hier eine Funktion erstellen, die einen String im Speicher komprimiert.

Gruß, Jens


RE: String komprimieren - rolfk - 11.08.2015 13:25

(06.08.2015 17:51 )jg schrieb:  OpenG Zip Tools!!!
Enthält 2 Funktionen zum "Inflate/Deflate" eines Strings im Speicher.

Die darin enthaltenen Zip-Funktionen arbeiten zwar auch mit Files, aber mit ein wenig Arbeit kann man sich auch hier eine Funktion erstellen, die einen String im Speicher komprimiert.

Gruß, Jens

Inflate/Deflate sollte genug sein für einen einzelnen String. Die ZIP Funktionen sind nur sinnvoll wenn Du ein ZIP Archive benötigst mit einem internen Inhaltsverzeichnis für mehrere Files/Datastreams. Die OpenG ZIP Library unterstützt sowohl file- als auch speicherbasierte ZIP Archive. Die jeweilige Open Funktion bestimmt dabei ob das ZIP Archive auf Disk ist oder im Speicher. Der Rest bleibt dasselbe.