바이너리 파일은 어떻게 생성하나요?

바이너리 파일은 어떻게 생성하나요?

파일의 비트를 구문 분석하는 것으로 생각되는 내용을 작성했지만 이제 테스트해야 합니다. 내가 원하는 파일을 만들고 싶습니다.알다 특정 순서의 비트가 있습니다. 다음과 같은 것 :

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 문자로 제한된다는 것입니다. 다른 인코딩(예: 유니코드 UTF-8 또는 UTF-16)의 경우에도 마찬가지입니다.

관련 정보