Hallo,
ich möchte eine ASCII-Datei mit z.B. den Inhalten "A0FF0E113400....." in eine binäre Datei umsetzen. Oder umgekehrt die Bytes einer binären Datei (z.B. Bitmap) in ASCII "A0FF0E113400....." umsetzen.
Gibt es ein kleines Tool oder Tipp dafür, am liebsten mit Linux/Unix Bordmitteln, keine speziellen Programme aus irgendwelchen Paketen. Ich bin öfter an anderen Servern und kann nicht immer was installieren für so einen eigentlichen Kleinkram wie diese Konvertierung...
Mit DD geht das wohl nicht, habt ihr Ideen?
Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
ASC to BIN und andersrum
Moderator: Moderatoren
Ersteinmal hoffe ich, dass ich dein Problem richtig verstanden habe...
Ich würde es mit der Scriptsprache Perl machen. Perl ist in jeder Linux-Installation als Standardpaket mit dabei. Meist ist das sogar ein muss, da manche Installationsroutinen mit perl geschrieben sind...
Für dein Problem würde ein Script (z.B. hex.pl) wiefolgt aussehen:Benutzen würde man es mit Man könnte es aber auch auf der Kommandozeile erledigen. Da würde das so aussehen:
Übrigens: Alles was in der Dateieingabe nicht Hex ist, wird automatisch und stillschweigend ignoriert.
Gruß,
echo 6E6F20746F2058500A | perl -e 'while (<>){print pack "H*",$_;}'
Ich würde es mit der Scriptsprache Perl machen. Perl ist in jeder Linux-Installation als Standardpaket mit dabei. Meist ist das sogar ein muss, da manche Installationsroutinen mit perl geschrieben sind...
Für dein Problem würde ein Script (z.B. hex.pl) wiefolgt aussehen:
Code: Alles auswählen
#!/usr/bin/perl
while (<>) {
print pack "H*", $_;
}
Code: Alles auswählen
cat eingabe.txt | hex.pl >ausgabe.bin
Code: Alles auswählen
cat eingabe.txt | perl -e 'while (<>){print pack "H*",$_;}' > ausgabe.bin
Gruß,
echo 6E6F20746F2058500A | perl -e 'while (<>){print pack "H*",$_;}'
Ich habe gerade gemerkt, dass ich nur die halbe Antwort geliefert habe. Der Weg zurück geht so:
Oder auf der Kommandozeile:
Code: Alles auswählen
#!/usr/bin/perl
$/="";
while (<>) {
print unpack "H*", $_;
}
Code: Alles auswählen
cat eingabe.bin | perl -e '$/="";while (<>){print unpack "H*",$_;}' > ausgabe.txt
Hallo notoxp,
danke für Deinen Beitrag. Mit Perl habe ich mich noch nie befasst. Wenn Zeit ist, probiere ich das mal aus.
Ich habe inzwischen ein Programm namens "srecord" gefunden. Das ist eigentlich dazu da, um EPROM-Dateien (die elektrisch programmierbaren ROMs) hin und her zu konvertieren. Und das kann u.a. auch eine ausführbare Datei in ASCII-HEX umwandeln und natürlich auch wieder zurück.
danke für Deinen Beitrag. Mit Perl habe ich mich noch nie befasst. Wenn Zeit ist, probiere ich das mal aus.
Ich habe inzwischen ein Programm namens "srecord" gefunden. Das ist eigentlich dazu da, um EPROM-Dateien (die elektrisch programmierbaren ROMs) hin und her zu konvertieren. Und das kann u.a. auch eine ausführbare Datei in ASCII-HEX umwandeln und natürlich auch wieder zurück.