Я написал что-то, что, как я думаю, анализирует биты из файла, но теперь мне нужно это проверить. Я хотел бы создать файл, который язнатьимеет биты в определенном порядке. Что-то вроде:
000010000000000000000000000100000
Затем я могу использовать этот файл для тестирования побитовым анализатором, то есть я могу сказать ему захватить биты 0-4 (упорядоченные слева направо) и ожидать возврата 00001
, а затем захватить биты 26-31 и ожидать возврата100000
Как создать такой файл в OSX?
решение1
printf
Для этого можно использовать команду.
Чтобы получить пример 0000 1000 0000 0000 0000 0000 0001 0000
, сделайте следующее:
$ printf "\x08\x00\x00\x10" > file1
$ hexdump file1
00000000 08 00 00 10 |....|
00000004
Обратите внимание, что ваш пример состоит из 33 бит, я использовал первые 32 бита.
Если вы хотите немного больше разнообразия, попробуйте:
$ echo -n "aC3@hLp-" > file2
$ hexdump -C file2
00000000 61 43 33 40 68 4c 70 2d |aC3@hLp-|
00000008
Каждый файл является «двоичным». Единственное различие между, например, текстовым файлом ASCII и двоичным файлом заключается в том, что диапазон значений байтов в текстовом файле ограничен символами ASCII. То же самое справедливо и для любой другой кодировки (например, Unicode UTF-8 или UTF-16).