Hexfolge in Byte Array ersetzen

Fohnbit

Top Contributor
Hallo

Ich hänge gerade an folgenden 2 Aufgaben:
Ich habe das Byte Array "comByte"

1. Aufgabe:
Wenn sich darin die Hexfolge:
"FE F0" befindet, soll das "F0" rausgelöscht werden.

2. Aufgabe:
Wenn sich darin die Hexfolge:
"FE" befindet, soll dahinter "F0" eingeschoben werden.

Wie stelle ich das am besten an?
Eine Schleife über alle Bytes ist wohl klar.
Aber wie die Bytes einfügen oder löschen?
Das Array muss ja dann neu dimensioniert werden.

Danke!
 

HelgeW

Mitglied
Hi,

das klingt doch sehr nach
1. Durchsuchen und zählen
2. neue Array erstellen
3. nun befuellen

Alternativ geht es auch mit Listen, aber das wäre ja einfach;)
 

Fohnbit

Top Contributor
Hallo

Ja ich weiß.
Das finden der Hexfolge ist auch nicht das Problem.
Aber wie erstelle ich das Array neu ohne die Position 7 als Beispiel?
Muss ich da wieder eine ganze Schleife erstellen oder kann man einem Array auch so füllen, das er von 0 - 6 und von 8-19 aus einem bestehenden Array nimmt?
 
S

SlaterB

Gast
eine bzw. mehrere Schleifen wären aber als Lerneffekt zu empfehlen,
nur wenn wirklich im Schlaf beherrscht und es um Vermeidung ärgerlichen Standard-Codes geht, dann API-Methoden nehmen
 

Fohnbit

Top Contributor
Hallo

Danke für die Inputs!

Mein Problem ist vor allem wenn mehrere Stellen im Array vorkommen.
Wenn ich eine Schleife starte und einen Treffer habe und das Array abändere, ändere ich ja das QuellArray, welches wiederum dann eine Schleife starten muss.

Ich könnte mir vorstellen zuerst eine Schleife übers ganze Array und ALLE Treffer in ein ein eigenes Array.

Danach über das Treffer Array eine Schleife und immer die Positionen überspringen.
Wäre das TrefferArray:
{4,8,16}
Müssten die Bytes vom QuellArray in einen neues so kopiert werden:
0-3,5-7,9-15,17-QuellArray.lenght
 
S

SlaterB

Gast
da gibt es verschiedene Varianten, ja
- alle Stellen suchen, dann alle verarbeiten, Wissensvorsprung schafft etwas Hilfe, etwa gleich korrekte neue Array-Länge

- bei jeder Stelle schon ersetzen, aber mit geschickten Variablenumgang an richtiger Stelle weiterarbeiten,
ständig neue Arrays vielleicht weniger, Teil-Arrays oder einzelne Bytes in einer Liste sammeln, letztlich aber neue Arrays auch nicht schlimm

- am einfachsten womöglich, auch nicht unbedingt als schlecht anzusehen, kommt auch in anderen Algorithmen vor:
nur eine Stelle ersetzen, danach komplett von vorne anfangen mit teil-korrigierten Array als neuer Eingabe,
solange wiederholen bis in einem Durchgang nichts mehr zu ändern ist,

allerdings vielleicht problematisch oder gerade erwünscht, wenn geändertes Array neue Treffer-Kombinationen ergibt,
die anderenfalls nicht aufgetreten wären
 
Zuletzt bearbeitet von einem Moderator:
T

tröööt

Gast
1. Aufgabe:
Wenn sich darin die Hexfolge:
"FE F0" befindet, soll das "F0" rausgelöscht werden.

2. Aufgabe:
Wenn sich darin die Hexfolge:
"FE" befindet, soll dahinter "F0" eingeschoben werden.

tja ... so einfach wird das nichts ...

wenn du es so machst das du beim ersten treffer verarbeitest und dann von vorne anfängst hast du ne endlos-schleife wenn du extern nicht mitzählst ... da du ja das F0 wegnimmst ... und da es fehlt wieder dran setzt ... und so weiter ...

wenn du zwei loops nimmst hast du am ende über all FEF0 ... und den doppelten aufwand ... da du erst von allen FEF0 das F0 wegnimmst ... und dann wieder dran hängst ...

alles in allem vielleicht eher ne übungsaufgabe als wirklich sinnvoll ... denn wie gesagt : wenn man es mal eben mit einem oder zwei loops macht OHNE extern irgendwie mitzuzählen was man schon editiert hat dürfte das entweder in nem endlos-loop oder mit nem falschen ergebnis enden
 

Fohnbit

Top Contributor
Hallo

So sieht es schon mal gut aus:
Java:
	public static byte[] F0Clean(byte array[]) {
		  byte F0Clean[] = new byte[array.length];
		  int anzahl = 0;
		  int lastChar = 0;
		 		  
		  for(byte i : array) {
				  
		    if((i&0xff)==0xF0 & lastChar==0xFE){
		    	
		    }
		     else {
		    	 F0Clean[anzahl++] = i; 
		    	 }
		  
		    lastChar=i&0xff;
		     
		  }
		  byte result[] = new byte[anzahl];
		  System.arraycopy(F0Clean, 0, result, 0, anzahl);
		  return result;
		}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
G ImageIcon in Byte-Array ablegen Java Basics - Anfänger-Themen 7
D Best Practice Parameter int vs byte Java Basics - Anfänger-Themen 16
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
F byte, short oder doch int? Java Basics - Anfänger-Themen 6
S Performance von byte[], short[], int[]..? Java Basics - Anfänger-Themen 24
D Methoden int to byte array und zurück? Java Basics - Anfänger-Themen 5
P int zu byte Java Basics - Anfänger-Themen 8
F Byte Array wachsen lassen Java Basics - Anfänger-Themen 5
M Java Klasse Byte Java Basics - Anfänger-Themen 10
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
T byte[] zu String mit Sonderzeichen Java Basics - Anfänger-Themen 2
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
J byte - Ausgabe Java Basics - Anfänger-Themen 2
F Teil eines Byte Array an eine Methode übergeben Java Basics - Anfänger-Themen 5
S byte to float Java Basics - Anfänger-Themen 4
J Byte Folge erkennen Java Basics - Anfänger-Themen 5
M sehr großes Byte Array Java Basics - Anfänger-Themen 3
M Byte Array und Co. Java Basics - Anfänger-Themen 12
T Operatoren Float in byte umwandeln Java Basics - Anfänger-Themen 3
Y File to byte[] and byte[] to sysout Java Basics - Anfänger-Themen 3
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
P String in byte konvertieren, wie? Java Basics - Anfänger-Themen 4
T Erste Schritte Byte Java Basics - Anfänger-Themen 3
R byte[] zu String und Ausgabe Java Basics - Anfänger-Themen 2
H Variablen short <-> byte[] Java Basics - Anfänger-Themen 15
X Datentypen String in byte[] Java Basics - Anfänger-Themen 29
H Variablen 32bit Zählwert als Byte-Array Java Basics - Anfänger-Themen 9
H Variablen string nach byte Java Basics - Anfänger-Themen 12
B Frage zur Effizienz von read und read(byte[]) Java Basics - Anfänger-Themen 23
R Erste Schritte Rechnenoperationen mit byte, short und char Java Basics - Anfänger-Themen 8
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
L Byte[] to String, doch bits sind gespiegelt (MSB/LSB) Java Basics - Anfänger-Themen 3
S Von byte[] nach String zurueck nach byte[]. Arrays sind nicht identisch :( Java Basics - Anfänger-Themen 6
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
V unsigned byte? Java Basics - Anfänger-Themen 27
M byte Array Mindestlänge Java Basics - Anfänger-Themen 19
U short[] nach byte[] Java Basics - Anfänger-Themen 11
D [jni] jbytearray <-> byte array Java Basics - Anfänger-Themen 8
S Datentypen Ändern eines byte[] Arrays Java Basics - Anfänger-Themen 4
B byte-weise Verschlüsselung Java Basics - Anfänger-Themen 6
P byte Array aus ImageIcon Java Basics - Anfänger-Themen 10
S Input/Output String in byte umwandeln? Java Basics - Anfänger-Themen 5
F von Byte zu 2 Stellig Hex Java Basics - Anfänger-Themen 3
G byte[] (Base64) korrekt übergeben Java Basics - Anfänger-Themen 4
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
O 64bit- OS byte, short, int oder long bzw. float oder double? Java Basics - Anfänger-Themen 13
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
T Datentypen byte -Division..mal gehts mit cast mal ohne Java Basics - Anfänger-Themen 5
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
F Byte nach Zahl umwandeln Java Basics - Anfänger-Themen 11
E Datentypen type cast problem (int, byte,) Java Basics - Anfänger-Themen 5
T Datentypen unsigned byte? Java Basics - Anfänger-Themen 9
G Integar zu Byte Java Basics - Anfänger-Themen 4
P Byte mit 0...255? Java Basics - Anfänger-Themen 5
N Datentypen Fehler beim Umwandeln in byte Java Basics - Anfänger-Themen 3
L Umwandlung int <--> byte Java Basics - Anfänger-Themen 2
L Datentypen 250 und byte? Java Basics - Anfänger-Themen 4
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
H Datentypen Byte-Array RSA Java Basics - Anfänger-Themen 9
H Datentypen Rechnen mit signed Byte-Array - unsinged byte Java Basics - Anfänger-Themen 3
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
V Byte -> String -> Byte verlustfrei Java Basics - Anfänger-Themen 12
Hindi93 Byte to Int Java Basics - Anfänger-Themen 4
H Datentypen byte[] to int Java Basics - Anfänger-Themen 9
S hex zu byte Java Basics - Anfänger-Themen 4
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
H 1 Byte Status Variable Java Basics - Anfänger-Themen 3
P Datentypen Byte und char Typecast Java Basics - Anfänger-Themen 2
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
W Datentypen int -> byte Java Basics - Anfänger-Themen 2
H Datentypen Byte-Array aus Stream lesen Java Basics - Anfänger-Themen 3
F Typenumwandlung byte <=> int verstehen Java Basics - Anfänger-Themen 3
S Byte eines arrays Java Basics - Anfänger-Themen 17
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
B unsigned byte Problem Java Basics - Anfänger-Themen 9
S 2 Byte Arrays addieren Java Basics - Anfänger-Themen 45
S Unbekannte Daten einlesen, speichern und in einem byte Array speichern Java Basics - Anfänger-Themen 3
S Alle Datentypen in byte Array und zurückwandeln Java Basics - Anfänger-Themen 2
H Frage zu Byte-Streams Java Basics - Anfänger-Themen 2
Z Wie Byte[] in einen String oder int konvertieren Java Basics - Anfänger-Themen 2
0 byte[] -> hex Java Basics - Anfänger-Themen 2
G char[] in byte[] konvertieren? Java Basics - Anfänger-Themen 2
V Byte Arrays in Strings umwandeln und splitten Java Basics - Anfänger-Themen 2
M unsigned byte Java Basics - Anfänger-Themen 4
F Byte 0 und 1 einzelnd zuweisen? Java Basics - Anfänger-Themen 17
G byte [] aus uRL erhalten Java Basics - Anfänger-Themen 11
J Byte-Array als Hex-Datei speichern? Java Basics - Anfänger-Themen 9
G Hex to Byte Java Basics - Anfänger-Themen 13
S Byte in Zahl umwandeln Java Basics - Anfänger-Themen 3
M Double-Wert in Byte[] umwandeln Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben