Wie erstelle ich eine Binärdatei?

Wie erstelle ich eine Binärdatei?

Ich habe etwas geschrieben, das meiner Meinung nach Bits aus einer Datei analysiert, aber jetzt muss ich es testen. Ich möchte eine Datei erstellen, die ichwissenhat Bits in einer bestimmten Reihenfolge. So etwas wie:

000010000000000000000000000100000

Dann kann ich diese Datei verwenden, um mit dem Bitparser zu testen. Ich kann ihm also sagen, dass er die Bits 0-4 (von links nach rechts sortiert) erfassen und erwarten soll, dass 00001sie zurückgegeben werden. Dann kann ich die Bits 26-31 erfassen und erwarten, dass sie zurückgegeben werden.100000

Wie kann ich eine solche Datei in OSX erstellen?

Antwort1

printfSie können dafür den Befehl verwenden .

Gehen Sie wie folgt vor , um Ihr Beispiel zu erhalten 0000 1000 0000 0000 0000 0000 0001 0000:

$ printf "\x08\x00\x00\x10" > file1
$ hexdump file1
00000000  08 00 00 10                                   |....|
00000004

Beachten Sie, dass Ihr Beispiel 33 Bit umfasst. Ich habe die ersten 32 Bit davon verwendet.

Wenn Sie etwas mehr Abwechslung wünschen, versuchen Sie:

$ echo -n "aC3@hLp-" > file2
$ hexdump -C file2
00000000  61 43 33 40 68 4c 70 2d                           |aC3@hLp-|
00000008

Jede Datei ist eine „binäre“ Datei. Der einzige Unterschied zwischen beispielsweise einer ASCII-Textdatei und einer Binärdatei besteht darin, dass der Wertebereich der Bytes in einer Textdatei auf die ASCII-Zeichen beschränkt ist. Dasselbe gilt für jede andere Kodierung (z. B. Unicode UTF-8 oder UTF-16).

verwandte Informationen