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 00001
y 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 printf
comando 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).