Ich habe Hex-Code einer Binärdatei im Textformat (String). Wie konvertiere ich es mit Linux-Befehlen wie cat und echo in eine Binärdatei?
Ich kenne Befehl folgenden Befehl mit einer binären test.bin erstellen. Was aber, wenn sich dieser Hexcode in einer anderen .txt-Datei befindet? Wie "kicke" ich den Inhalt der Textdatei zu "echo" und erzeuge eine Binärdatei?
# echo -e "\x00\x001" > test.bin
verwende xxd -r
. Es setzt einen Hexdump auf seine Binärdarstellung zurück.
Bearbeiten : Der Parameter -p
ist ebenfalls sehr nützlich. Er akzeptiert "einfache" hexadezimale Werte, ignoriert jedoch Leerzeichen und Zeilenänderungen.
Also, wenn Sie einen einfachen Text-Dump wie folgt haben:
%Vor%Sie können es mit:
in Binär konvertieren %Vor%Und dann nützliche Ausgabe mit etwas wie:
%Vor% Zusätzlich zu xxd
sollten Sie sich auch die Pakete / commands od
und hexdump
ansehen. Alle sind ähnlich, bieten jedoch jeweils etwas andere Optionen, mit denen Sie die Ausgabe an Ihre Bedürfnisse anpassen können. Zum Beispiel ist hexdump -C
der traditionelle Hexdump mit zugehöriger ASCII Übersetzung.
Wenn Sie einen langen Text oder Text in der Datei haben, können Sie auch das binmake Werkzeug verwenden, mit dem Sie einige im Textformat beschreiben können Binärdaten und generieren eine Binärdatei (oder Ausgabe an stdout). Es erlaubt das Endianess- und Zahlenformat zu ändern und akzeptiert Kommentare.
Das Standardformat ist hexadezimal, aber nicht darauf beschränkt.
Erhalte und kompiliere zuerst binmake :
%Vor% Sie können die Pipeline mit stdin
und stdout
:
Oder verwenden Sie Dateien. Erstellen Sie Ihre Textdatei file.txt
:
Generieren Sie Ihre Binärdatei file.bin
:
Tags und Links command-line linux shell unix