Verfasst am: 03.07.2013, 11:01
Titel: Manipulation von Hex-Werten einer Binär-File
Hallo zusammen,
ich möchte in MATLAB R2010b eine Binär-Datei manipulieren. Bisher habe ich das ganze manuell in dem Texteditor Ultraedit gemacht.
Ich habe die Datei geöffnet, auf HEX-View (Strg + H) umgeschaltet, die Stelle gesucht, die ich manipulieren wollte und dann gespeichert. Das ganze soll aber nun in MATLAB automatisiert (und in der Funktionalität erweitert) werden.
Ich möchte die Datei einlesen, den HEX-Dump als Text/String ausgeben. Diesen String manipulieren. Und aus dem String (der die Darstellung eines HEX-Dumps ist) wieder eine Datei schreiben.
Der Zwischenschritt, dass der Hex-Dump zu einem String konvertiert werden soll ist zu Weiterverarbeitungs-/Dokumentationszwecken gewünscht.
Beispiel, was ich in MATLAB automatisiert machen will:
Zitat:
Ich habe eine Textdatei "test.txt" mit dem Inhalt "Mein Strinh". Wenn ich diese als Hex-Dump anzeigen lasse, erhalte ich:
4D 65 69 6E 20 53 74 72 69 6E 68
Diesen Hex-Dump-String möchte ich nun manipulieren. Sagen wir ich möchte die 68 am Ende durch eine 67 ersetzen. Ich erhalte also
4D 65 69 6E 20 53 74 72 69 6E 67
Diesen String möchte ich nun wieder als Datei "test.txt" speicehrn. Und wenn ich diese Textdatei nun im Editor öffnen würde, hätte sie den Inhalt "Mein String".
Das Ganze soll nur ein Beispiel sein, natürlich will ich keine Text-Dateien manipulieren sondern normale Binärdateien. Aber das Vorgehen wäre identisch.
Bei Suche nach Hex-Befehlen zusammen mit MATLAb komme ich jedoch auf keine hilfreichen Suchergebnisse.
Habt Ihr einen Tipp parat?
Ich verstehe das so, dass die ganze Datei wie eine ASCII-Datei eingelesen wird und der Inhalt völlig von der Bedeuting befreit mit Stringoperationen bearbeitet wird. Also STRCMP, STRFIND, REGEXP
HEX Befehle gibt es auch und möchte hier der Vollständigkeit halber welche nennen (HEX2NUM, CHAR) - aber die werde ja hier gar nicht gebraucht so wie ich das sehe.
ja genau, die Datei wird eingelesen wie wenn es ein ASCII-Text wäre. Jedoch nehme ich halt die Hexadezimaldarstellung der Binärdatei. Und umgekehrt soll sie am Ende wieder so geschrieben werden. Genau diesen Übergang weiß ich nicht, wie ich ihn hinbekomme.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.