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 00001
sie 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
printf
Sie 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).