LabVIEWForum.de
Hex string verarbeiten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Hex string verarbeiten (/Thread-Hex-string-verarbeiten)



Hex string verarbeiten - eisen - 27.01.2012 13:25

Hallo zusammen,

Ich kämpfe schon länger mit folgendem Problem:

Ich habe eine txt-datei in der ein langer Hex-String steht, ohne Zeilenumbrüche.
Ich möchte den String einlesen (später die Headerdaten separieren) und bei einer bestimmten Zeichenanzahl (etwa nach dem 256. Zeichen) ein "newline" einfügen, so dass ich nacher eine Matrix (256 * 512, o.ä.) bekomme.

Die Datei beginnt z.B. so:
Zitat:4C3FCDCC4C3FCDCCD13E4FB6C23EE2B6 0 0 0 0DD3FF79774478B56 0 1 0 183 086 0DD 7DE 7DF 7E0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 056 2 2 056 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 4 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Später soll das ganze in ein Array geschrieben werden, bzw. als Bild dargestellt werden. Es handelt sich um hex-Grauwerte (0 - 255).

Habe, wie gesagt schon eine Mege herumprobiert aber leider stehe ich auf dem Schlauch, die String-funktionen von LV geben das irgendwie nicht her.
Hat jemand eine Idee?

Gruß
Eisen


RE: Hex string verarbeiten - M Nussbaumer - 27.01.2012 16:37

(27.01.2012 13:25 )eisen schrieb:  Hallo zusammen,

Ich kämpfe schon länger mit folgendem Problem:

Ich habe eine txt-datei in der ein langer Hex-String steht, ohne Zeilenumbrüche.
Ich möchte den String einlesen (später die Headerdaten separieren) und bei einer bestimmten Zeichenanzahl (etwa nach dem 256. Zeichen) ein "newline" einfügen, so dass ich nacher eine Matrix (256 * 512, o.ä.) bekomme.

Die Datei beginnt z.B. so:
Zitat:4C3FCDCC4C3FCDCCD13E4FB6C23EE2B6 0 0 0 0DD3FF79774478B56 0 1 0 183 086 0DD 7DE 7DF 7E0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 056 2 2 056 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 4 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Später soll das ganze in ein Array geschrieben werden, bzw. als Bild dargestellt werden. Es handelt sich um hex-Grauwerte (0 - 255).

Habe, wie gesagt schon eine Mege herumprobiert aber leider stehe ich auf dem Schlauch, die String-funktionen von LV geben das irgendwie nicht her.
Hat jemand eine Idee?

Gruß
Eisen

Hallo Eisen

So wie du deine Problemstellung erläuterst willst du höchstwahrscheindlich etwas mit den Zahlenwerten anstellen wollen. Ich würde das ganze nicht mit den String funktionen weiter bearbeiten, sondern den ganzen String in einzelne Zahlen umwandeln. Mit der Funktion "Scan from String" mit der Konstante %2x (255 = FF also 2 Zeichen, wobei ich mir nicht sicher bin wie dein Format ist. Falls 0 = 00 in Hex ist funktioniert das ganze ansonsten nicht.) könnte das funktionieren. Das ganze in einer Schleife ausführen, damit jeder Wert umgewandelt wird.

Im Prinzip kannst du dann in der Schleife alle 256 Zeichen (oder 128 Hex-Werte) eine neue Zeile in das Array einfügen.

Hoffe das hilft dir etwas weiter!

Gruss Marc


RE: Hex string verarbeiten - Lucki - 27.01.2012 19:31

Die 2stelligen Hexstrings in ein U8-2DArray umzuformen könnte man z.B so machen:
[attachment=38399]


RE: Hex string verarbeiten - eisen - 07.02.2012 09:58

Hi,

war jetzt lange nicht dran, werde Eure Tips aber mal ausprobieren.
Sieht mir nach sehr guten Lösungen aus.

Vielen Dank dafür!