c언어 스트럭쳐(struct)로 패킹되어 있는 바이너리 파일을 불러와서 json으로 변환해야 하는 경우가 생겼습니다. 선언된 struct에 대한 원형은 확보했지만 패킹된 바이너리 파일의 내용이 궁금해서 열어봐야했습니다. 그래서 헥사 편집기가 뭐가 있을까 봤더니 3가지로 요약이 되더군요.
헥사 편집기 종류
- 울트라 에디트
울트라에디트(UltraEdit)는 윈도우, 리눅스, macOS용 상용 문서 편집기의 하나로, IDM 컴퓨터 솔루션스의 창립자 Ian D. Mead에 의해 1994년 개발되었다. 이 편집기에는 매크로, 구성 가능한 구문 강조, 코드 폴딩, 파일 유형 변환, 프로젝트 관리, 검색 및 치환을 위한 정규 표현식, 컬럼 편집 모드, FTP를 통한 원격 파일 편집, API나 명령 줄 인터페이스를 위한 인터페이스를 포함, 프로그래머를 위한 도구들이 들어있다. 파일은 탭 형태로 탐색 및 편집이 가능하며 유니코드와 16진(hex) 편집 모드도 지원한다.원래 이름은 MEDIT였으며 처음에는 윈도우 3.1x에서 구동되도록 설계되었다. 울트라에디트-32(UltraEdit-32)라는 이름의 버전이 나중에 윈도우 NT와 윈도우 95에서 구동될 수 있도록 개발되었다. 마지막 16비트 울트라에디트 프로그램은 6.20b였다.버전 11을 기점으로 윈터트리 맞춤법 검사기 엔진은 GNU 아스펠로 대체되었다.버전 13(2007년)에서 작업 자동화를 위한 기존 매크로 기능에 대해 자바스크립트가 추가되었다. 울트라에디트의 자바스크립트는 자바스크립트 1.7을 사용한다.울트라에디트-32(UltraEdit-32)라는 이름은 버전 14.00 들어 울트라에디트(UltraEdit)로 변경되었다. 버전 22.2는 최초의 네이티브 64비트 버전의 문서 편집기였다.울트라에디트의 설치 용량은 약 100 MB를 차지한다.
- 에디트플러스
에디트플러스(EditPlus)는 마이크로소프트 윈도용 문서 편집기로 경상남도 진주시에 본사를 둔 이에스컴퓨팅의 김상일이 개발하였다. 1998년 3월 20일에 첫 버전이 공개되었다. 셰어웨어 저작권으로 배포되어 30일 동안 사용할 수 있으며 기간이 지난 후에는 등록하지 않으면 쓸 수 없다.완전한 유니코드를 지원하며 파일마다 다른 시스템 코드 페이지를 갖춘 텍스트 파일의 내용을 깨지지 않게 맞추어 불러올 수 있다. 프로그래머를 위한 구문 강조 기능을 갖추고 있으며, 검색 및 바꾸기를 위한 정규 표현식과 세 가지 파일 형식(윈도, 리눅스, 매킨토시)을 지원한다. 문법 확인 기능은 미국 영어와 영국 영어를 지원한다.
- 노트패드++
노트패드++(Notepad++)는 문서 편집기이자 소스 코드 편집기이다. 윈도에서 기본으로 제공하는 문서 편집기인 메모장에 견주어 노트패드++는 탭 편집을 제공하므로 여러 개의 파일을 동시에 열어서 편집할 수 있다.이 프로그램은 오픈 소스인 GPL 자유 소프트웨어로 배포된다. 이 프로젝트는 소스포지.넷에서 호스팅하여 이천칠백 만 건이 넘는 다운로드 수를 기록하였다. 그리고 소스포지.넷 커뮤니티가 선정한 최고 개발 도구상을 두 번 타기도 하였다. 2010년 6월부터는 노트패드++ 프로젝트를 TuxFamily에서 호스팅하고 있다. 노트패드++은 Scintilla 편집기 구성 요소를 사용하여 문서와 프로그래밍 언어 소스 코드 파일을 나타내고 편집한다.
노트패드++
울트라 에디트와 에디트플러스는 유료인 관계로 무료인 노트패드++ 를 설치하고 사용해보도록 하겠습니다.
노트패드++ 홈페이지 접속 후 위와 같은 화면이 나오면 다운로드 버튼을 클릭합니다.
다운로드가 완료되면 실행한 후 해당 화면이 나오면 OK 버튼을 클릭합니다.
다음 버튼을 클릭합니다.
동의함 버튼을 클릭합니다.
설치할 경로를 지정 후 다음 버튼을 클릭합니다.
설치할 구성 요소를 선택 후 다음 버튼을 클릭합니다.
필요한 옵션을 선택 후 설치 버튼을 클릭합니다.
설치가 진행이 되는 동안 잠시 기다려줍니다.
설치가 완료가 되면 Notepad++ v7.5.9 실행하기를 체크한 후 마침 버튼을 클릭합니다. 해당 체크박스를 체크하지 않고 마침 버튼을 클릭한 뒤 별도로 실행해도 무방합니다.
실행 후 메뉴 - 플러그인 에는 헥사를 볼 수 있는 HexEditor 이 보이지 않는군요. 기존에는 분명 존재했는데 왜 그런지 찾아보도록 하겠습니다.
You may notice that Plugin Manager plugin has been removed from the official distribution. The reason is Plugin Manager contains the advertising in its dialog. I hate Ads in applications, and I ensure you that there was no, and there will never be Ads in Notepad++. A built-in Plugin Manager is in progress, and I will do my best to ship it with Notepad++ ASAP.
플러그인 관리자 플러그인이 공식 배포에서 제거되었음을 알 수 있습니다. 그 이유는 Plugin Manager가 대화상자에 광고를 포함하기 때문입니다. 나는 당신이 광고하는 것을 싫어합니다. 그리고 나는 당신에게 그것이 없다고 확신합니다, 그리고 노트패드++에는 광고들이 결코 없을 것입니다. 기본 제공 플러그인 관리자가 진행 중이며 최대한 빨리 메모장++ ASAP와 함께 배송해 드리겠습니다.
아무튼.. 광고 때문에 사라졌다고 하네요. 그렇다고 아주 방법이 없는 것은 아닙니다.
상단의 다운로드 링크를 통해 접속하신 다음 빨간 박스 안의 HexEditor_0_9_5_UNI_dll.zip 파일을 다운로드 받은 후 압축을 풀어줍니다.
아래의 경로로 이동 후 HexEditor 폴더를 만든 다음 그 폴더 안에 HexEditor.dll 파일을 복사합니다.
C:\Program Files (x86)\Notepad++\plugins
자 그럼 이제 노트패드를 재실행을 해보겠습니다.
위의 화면에 보이는 빨간박스 안의 내용처럼 HexEditor 메뉴가 보이십니까? 메뉴 - 플러그인 - HexEditor - View In Hex 를 눌러서 제대로 헥사모드로 보이는지 확인을 해보겠습니다.
잘 되나요? HexEditor 플러그인이 보이지 않는 것은 v7.5 이전 버전을 사용하다가 업데이트한 경우에도 해당이 됩니다. 갑자기 해당 플러그인이 사라져서 놀라지 마시고 위와 같은 방법으로 해결하실 수 있습니다.
참고
'Programming > Etc' 카테고리의 다른 글
[프로그래머스 문제 풀이] 코딩테스트 연습 > 연습문제 > 가운데 글자 가져오기 (0) | 2018.10.29 |
---|---|
[프로그래머스 문제 풀이] 코딩테스트 연습 > 사용제 제작 문제 > 소수의 합 (0) | 2018.10.25 |
아톰(ATOM) 에디터 파워모드 타격감 좋은 패키지 activate power mode (0) | 2018.10.18 |
ATOM 에디터에서 C/C++ 컴파일 환경 구축하기 (0) | 2018.10.17 |
[프로그래머스 문제 풀이] 코딩테스트 연습 > 해시 > 완주하지 못한 선수 (0) | 2018.10.15 |