Buffer_Search mit Hex-Werten

Begonnen von Steffen, 05. November 2008, 07:43:42

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Steffen

Guten Morgen !

Als neuer Teilnehmer erst mal vielen Dank für diese Super Bibliothek, dir mich bereits einmal davon abgehalten hat das Rad neu zu erfinden  ;)

Nun aber eine Frage : Ich muß in einem Array eine bestimmt Zeichenfolge finden, die aber nicht aus "normalen" Zeichen besteht, sondern aus Hex-Werten. Definitiv handelt es sich z.B. um 0x10 0x00 0x30 0x30 0x04. Die Routine Buffer_Search wäre dafür wohl geeignet, ich habe es aber bisher nicht geschafft meine Hex-Werte als Suchstring zu übergeben.

Sehe ich da den Wald vor lauter Bäumen nicht, oder habe ich eine andere Routine übersehen ??

Falls beides nicht zutrifft : Ist so eine Routine in Planung ?? Ansonsten muß ich mich halt selbst ranmachen und das ganze mal erfinden  :P

Vielen Dank im Voraus, Steffen

hugo

in welcher form liegt denn deine hex information vor?
als string, oder als bitmuster

Steffen

Hallo Hugo,

danke fürs lesen und melden. Die zu suchende Hex-Information liegt als Zeichenfolge vor. Das "packen" in einen String hat nicht geklappt (wg 0x00 ??).

Untersucht werden soll ein Array, das aus einer seriellen Schnittstelle im Ringspeicher-Prinzip gefüllt wird, das läuft auch bereits. Beim auftreten des Suchstrings soll dann eine Reaktion erfolgen.

Steffen

hugo

das versteh ich immer noch nicht:

du sagt sie liegt als zeichenfolge vor, was verstehst du unter zeichenfolge: string? oder binärwerte?
bitte gib an wie eine hex0 bei dir vorliegt? als 2#0000_0000 oder Zeichen '0' ???????

was willst du in einen string packen wenn es denn schoin als zeichenfolge 0x00 vorliegt?

bitte werde etwas spezifischer.

Steffen

Ok, dann habe ich mich nicht ganz vollständig ausgedrückt.

Ich muß die 5 Byte große, Hexadezimale (!!!!) Zeichenfolge 10 00 30 30 04  (entspricht 2#0000_1010  2#0000_0000  2#0001_1110   2#0001_1110   2#0000_0100) suchen.

In der allgemeinen Literatur werden Hexadezimale Werte ja meist als z.B. 0x30 (oder 0xFF) geschrieben, um darzustellen daß es kein Dezimalwert o.ä. ist.

Gesucht werden also 5 Byte, die (außer Hex 30) nicht im alphanumerischen Zeichenbereich liegen.

Steffen


hugo

ok das geht mit den momentanen buffer_search nicht weil dieser nur nach strings suchen kann.
in einem string dürfen aber keine zeichen mit wert 00 vorkommen, denn dieses zeichen dient als endzeichen für strings.

Steffen

Hallo Hugo,

hab ich's mir doch gedacht, daß das "Ende-Zeichen" Probleme bereitet  :(

Gäbe es denn mit den vorhandenen Routinen eine Möglichkeit, wenn ich das Hex 00 Zeichen nicht suche, sondern nur die anderen Hex-Werte ??

Steffen

hugo

wir werden in der 302 mitte november eine funktion buffer_comp drinhaben die wird das was du brauchst können