Auf folgende Weise konvertiere ich eine einfache Binärdatei in eine Textdatei
od –t x1 Check.tar | cut –c8- > Check.txt
Welches gibt einen Inhalt ähnlich wie:
64 65 76 2f 6e 75 6c 6c 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[...]
Was ist der umgekehrte Weg, um die Check.txt in Check.tar als Originaldatei zu konvertieren
linux
conversion
binary
od
maihabunash
quelle
quelle
xxd -r -p Check.txt > Check.tar
xxd -r -p
ist die genaue Umkehrung der vonod
Ihnen vorgenommenen Konvertierung; Die Ausgabe des Befehls von cuonglm sollte streng mit dem ursprünglichen Tarball identisch sein.Antworten:
Sie benötigen
-v
oderod
werden Sequenzen identischer Bytes komprimieren.Für das Gegenteil:
Oder:
Wenn Sie Dateien über einen Kanal übertragen möchten, der nur ASCII-Text unterstützt, gibt es dafür spezielle Tools wie
uuencode
:Und um diese Dateien am anderen Ende wiederherzustellen:
würde neu erstellen
myfiles.tar.xz
.Oder:
So extrahieren Sie die Dateien.
quelle
grep '[*]' file.txt
überprüfen Sie dies), da Sie die Informationen darüber verloren haben, wie lange diese komprimiert wurden Sequenzen wurden durch Entfernen der Adresse.-v
Option nicht. Wenn Sie Dateien über FTP übertragen, vergessen Sie nicht, den Modus auf "binär" zu setzen (TYPE I
FTP-Befehl, so etwas wiebinary
in Ihrem Client)Um den X-Teil dieses XY-Problems zu beantworten, würde ich Ihnen empfehlen, den Grund zu untersuchen, warum Ihre Binärdateiübertragungen nicht richtig übertragen werden.
Wenn sich herausstellt, dass der Grund dafür ist, dass Sie keinen sauberen 8-Bit-Datenpfad haben, können Sie vorhandene Tools verwenden, die für diese Situation erstellt wurden, z. B.
base64
oder sogaruuencode
. Alt aber immer noch sehr effektiv.oder
quelle
In meinem Fall hatte ich weder xxd noch uudecode auf dem Remote-Gerät, aber ich hatte Bash. Am Ende hatte ich Folgendes:
Konvertieren Sie von binär nach txt mit:
Dann konvertiere zurück von txt zu binär mit:
quelle