¿Cómo creo un archivo binario?

¿Cómo creo un archivo binario?

Escribí algo que creo que analiza bits de un archivo, pero ahora necesito probarlo. Me gustaría crear un archivo quesabertiene bits en un orden determinado. Algo como:

000010000000000000000000000100000

Luego puedo usar este archivo para probar con el analizador de bits, de modo que pueda decirle que tome los bits 0-4 (ordenados de izquierda a derecha) y espere que regrese 00001y luego tome los bits 26-31 y espere que regrese.100000

¿Cómo puedo crear un archivo como este en OSX?

Respuesta1

Puedes usar el printfcomando para ello.

Para obtener su ejemplo 0000 1000 0000 0000 0000 0000 0001 0000, haga:

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

Tenga en cuenta que su ejemplo es de 33 bits, he usado los primeros 32 bits.

Si quieres un poco más de variación, prueba:

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

Cada archivo es un archivo "binario". La única diferencia entre, por ejemplo, un archivo de texto ASCII y un archivo binario es que el rango de valores de los bytes en un archivo de texto está limitado a los caracteres ASCII. Lo mismo se aplica a cualquier otra codificación (por ejemplo, Unicode UTF-8 o UTF-16).

información relacionada