Linux에서 명령 줄을 사용하여 문자열을 바이너리 정수 파일로 변환하는 방법

StackOverflow https://stackoverflow.com/questions/422840

  •  05-07-2019
  •  | 
  •  

문제

내가 원하는 것은 정수를 문자열로 표시하여 "1234"로 표시하고 값 1234를 가진 32 비트 Big Endian Integer를 포함하는 int라는 파일로 변환하는 것입니다.

내가 이것을하기 위해 알아 낸 유일한 방법은

echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int

조금 불쾌합니다!

누구든지 더 나은 방법을 알고 있습니까?

도움이 되었습니까?

해결책 2

마크 윌리엄스가 AWOL에 갔다는 것을 알았습니다. 나는 그의 대답의 수정 된 버전을 게시 할 것입니다.

echo 1234 | perl -e 'print pack("N", <STDIN>); > int

다른 팁

약간 간단한 방법은 다음과 같습니다.

printf "0: %08X" 1234 | xxd -r > int

이것은 내 시스템에서 동일한 출력을 생성하는 것으로 보입니다. 확인하십시오 perldoc -f pack.

echo '1234' | perl -e 'print pack("nn", 0,<STDIN>);' > int

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top