Escrevi algo que acho que analisa bits de um arquivo, mas agora preciso testá-lo. Eu gostaria de criar um arquivo que eusabertem bits em uma determinada ordem. Algo como:
000010000000000000000000000100000
Então posso usar esse arquivo para testar pelo analisador de bits, para que eu possa dizer a ele para capturar os bits 0-4 (ordenados da esquerda para a direita) e esperar que ele retorne 00001
e, em seguida, capturar os bits 26-31 e esperar que ele retorne100000
Como posso criar um arquivo como este no osx?
Responder1
Você pode usar o printf
comando para isso.
Para obter seu exemplo 0000 1000 0000 0000 0000 0000 0001 0000
, faça:
$ printf "\x08\x00\x00\x10" > file1
$ hexdump file1
00000000 08 00 00 10 |....|
00000004
Observe que seu exemplo tem 33 bits, usei os primeiros 32 bits dele.
Se você quiser um pouco mais de variação, tente:
$ echo -n "aC3@hLp-" > file2
$ hexdump -C file2
00000000 61 43 33 40 68 4c 70 2d |aC3@hLp-|
00000008
Cada arquivo é um arquivo 'binário'. A única diferença entre, por exemplo, um arquivo de texto ASCII e um arquivo binário é que o intervalo de valores dos bytes em um arquivo de texto é limitado aos caracteres ASCII. O mesmo se aplica a qualquer outra codificação (por exemplo, Unicode UTF-8 ou UTF-16).