문제
네트워크 및 직렬 통신 소프트웨어로 많은 작업을하기 때문에 데이터 패킷의 16 진 덤프를 표시하거나 기록하는 코드가 필요한 경우가 많습니다.
이 작업을 수행 할 때마다 처음부터 또 다른 16 진 덤프 루틴을 작성합니다.다시 그렇게하려고합니다.하지만 여기서 물어볼 것 같습니다. 어딘가에 C ++ 용 무료 16 진수 덤프 코드가 있습니까?
원하는 기능 :
- 행당 N 바이트 (N은 구성 가능)
- 16 진수와 함께 선택적인 ASCII / UTF8 덤프
- 구성 가능한 들여 쓰기, 줄별 접두사, 줄별 접미사 등
- 최소 종속성 (이상적으로는 코드가 모두 헤더 파일에 있거나 그냥 붙여 넣을 수있는 스 니펫이되기를 원합니다)
편집 : 설명 : stderr, stdout, 로그 파일 또는 기타 출력 스트림에 쓰기 위해 내 프로그램에 쉽게 삽입 할 수있는 코드를 찾고 있습니다.명령 줄 16 진수 덤프 유틸리티를 찾고 있지 않습니다.
해결책
유닉스 도구 인 xxd
는 vim
의 일부로 배포되며 http://www.vmunix.com/vim/util.html#xxd ,xxd는 ftp : //ftp.uni-erlangen입니다..de : 21 / pub / utilities / etc / xxd-1.10.tar.gz .C로 작성되었으며 약 721 줄입니다.이에 대한 유일한 라이센스 정보는 다음과 같습니다.
라코 디스
유닉스 도구 hexdump
는 http://gd.tuwien.ac에서 사용할 수 있습니다..at / softeng / Aegis / hexdump.html .C로 작성되었으며 소스에서 컴파일 할 수 있습니다.xxd보다 상당히 크고 GPL에 따라 배포됩니다.
다른 팁
오래 전에 작성한이 작은 스 니펫을 자주 사용합니다.디버깅 등을 할 때 짧고 쉽게 추가 할 수 있습니다. 라코 디스
PSPad 가 16 진 편집기로 사용되는 것을 보았지만 저는 보통 당신이하는 것과 같은 일을합니다.이 질문에 대한 "즉시 답변"이 없다는 것에 놀랐습니다.매우 일반적인 요구 사항입니다.
이것을 하나에서 사용했습니다 직장에서 내 내부 도구.
Wireshark에 대한 자신의 해부 를 작성할 수 있습니까?
편집 : 질문의 정밀도 앞에 작성
xxd 는 '표준'16 진 덤프 유틸리티입니다.문제가 해결 될 것 같습니다