Monday, October 23, 2006
이진파일을 텍스트파일로 변환, 바이너리를 아스키로, Convert Binary File to Text File
base64 인코더로, 이진파일을 텍스트 파일로 변환할 수 있습니다. (예전에는 UUENCODE / UUDECODE 가 사용되었는데, 요즘에는 base64 가 사용됩니다.)
인터넷에서 base64.exe 라는 프로그램/유틸리티를 다운받을 수 있습니다. (<구글에서 base64.exe 검색>)
여기서는 펄 스크립트를 사용하여 설명합니다: ▶▶ 펄,Perl] BASE64 인코더/디코더; 파일을 base64로 인코딩 디코딩하기; File Encode, Decode
(윈도우에서는 액티브펄(ActivePerl)을 설치해야, 펄 스크립트가 실행됩니다)
위의 rss.gif 라는 빨간 그림도 당연히 이진파일입니다. 위의 RSS 그림 파일을 텍스트 파일로 만들어 보겠습니다.
base64.pl -e rss.gif
이렇게 하면 다음과 같이 결과가 화면으로 출력됩니다:
암호 같은 이상한 기호들이 많이 있습니다. 이진파일이 텍스트 파일로 변환되어 화면에 출력된 것입니다. 모두 키보드로 입력할 수 있는 문자들입니다. 이진파일을 올릴 수 없는 곳에 위의 텍스트 파일을 대신 올리면 됩니다.
base64.pl -e rss.gif > base64.txt
이렇게 하면 출력이, 화면이 아닌 텍스트 파일로 저장됩니다. rss.gif 라는 이진파일 즉 바이너리 파일이, base64.txt 라는 아스키 파일 즉 텍스트 파일로 저장된 것입니다.
텍스트 파일로 변환된 이진파일을 다시 원래의 이진파일로 만들려면, 디코딩을 해야 합니다.
base64.pl -d base64.txt ok.gif
이런 명령어로 다시 이진파일로 만들 수 있습니다. 아까 그 rss.gif 가 ok.gif 라는 이름으로 다시 만들어집니다.
base64에는 압축 기능이 없기에, 이진파일을 zip 등으로 압축한 후에, base64로 인코딩해 주는 것이 좋습니다.
▶▶ 텍스트파일(아스키파일) / 이진파일(바이너리파일) 의 차이점 - Text File, Binary File
인터넷에서 base64.exe 라는 프로그램/유틸리티를 다운받을 수 있습니다. (<구글에서 base64.exe 검색>)
여기서는 펄 스크립트를 사용하여 설명합니다: ▶▶ 펄,Perl] BASE64 인코더/디코더; 파일을 base64로 인코딩 디코딩하기; File Encode, Decode
(윈도우에서는 액티브펄(ActivePerl)을 설치해야, 펄 스크립트가 실행됩니다)
바이너리(이진)를, 아스키(텍스트)로 인코딩 실습
위의 rss.gif 라는 빨간 그림도 당연히 이진파일입니다. 위의 RSS 그림 파일을 텍스트 파일로 만들어 보겠습니다.
base64.pl -e rss.gif
이렇게 하면 다음과 같이 결과가 화면으로 출력됩니다:
D:\Z>base64.pl -e rss.gif
R0lGODlhJAAOANUAAP9mAP///z8aAf/IpH0zAv+aV+VWAOGbd8ZEAPBdANV2RP+PRPtkAPDNu/96
IuhYAPhiAP/17v/gzMpQEfGld/vz7v+FM/G6mdmCVd1SANRXEf/Wu/9wEfTazP3Bmd2PZv7gzOmg
d/+jZv+4iPy2iMpGANdjIv+td9tlIudhEdZNAOafd//r3f+ZVeR3Lu2YZu15M+uXZv/m1Z9BA9h3
RCEOAfzz7ui0mexbAPRfAP307vqWVc5dIgAAAAAAAAAAACH5BAAAAAAALAAAAAAkAA4AAAbgQNlg
SCwaj8ijqwBoOp/QqDRKYE6jjsUCmt1Kq9CAOBAZNS2ScUAEQKvZUPBTfDhUAi8AK7BSfBoHD3t9
f4FxVk5iCAYUAYFiGCkJDygGkJKUBodhjiMROjwGG2MgJwAQo2Klp5tzajQlEBwhHWMUALO1Yret
iQEIDQE3CQAODAYaBwENBsbIysy9TYoONgExABEkLQsejira3N4HKtIAigA7ARUwaWMXEwbuYvCa
T3JPCAhNOAglOSYUKJiAIAMDAAEHFjx4D9EVJxASJGDYJOLELzMEaNzIsaPHjx5rBAEAOw==
D:\Z>
R0lGODlhJAAOANUAAP9mAP///z8aAf/IpH0zAv+aV+VWAOGbd8ZEAPBdANV2RP+PRPtkAPDNu/96
IuhYAPhiAP/17v/gzMpQEfGld/vz7v+FM/G6mdmCVd1SANRXEf/Wu/9wEfTazP3Bmd2PZv7gzOmg
d/+jZv+4iPy2iMpGANdjIv+td9tlIudhEdZNAOafd//r3f+ZVeR3Lu2YZu15M+uXZv/m1Z9BA9h3
RCEOAfzz7ui0mexbAPRfAP307vqWVc5dIgAAAAAAAAAAACH5BAAAAAAALAAAAAAkAA4AAAbgQNlg
SCwaj8ijqwBoOp/QqDRKYE6jjsUCmt1Kq9CAOBAZNS2ScUAEQKvZUPBTfDhUAi8AK7BSfBoHD3t9
f4FxVk5iCAYUAYFiGCkJDygGkJKUBodhjiMROjwGG2MgJwAQo2Klp5tzajQlEBwhHWMUALO1Yret
iQEIDQE3CQAODAYaBwENBsbIysy9TYoONgExABEkLQsejira3N4HKtIAigA7ARUwaWMXEwbuYvCa
T3JPCAhNOAglOSYUKJiAIAMDAAEHFjx4D9EVJxASJGDYJOLELzMEaNzIsaPHjx5rBAEAOw==
D:\Z>
암호 같은 이상한 기호들이 많이 있습니다. 이진파일이 텍스트 파일로 변환되어 화면에 출력된 것입니다. 모두 키보드로 입력할 수 있는 문자들입니다. 이진파일을 올릴 수 없는 곳에 위의 텍스트 파일을 대신 올리면 됩니다.
base64.pl -e rss.gif > base64.txt
이렇게 하면 출력이, 화면이 아닌 텍스트 파일로 저장됩니다. rss.gif 라는 이진파일 즉 바이너리 파일이, base64.txt 라는 아스키 파일 즉 텍스트 파일로 저장된 것입니다.
아스키(텍스트)를, 바이너리(이진)로 디코딩 실습
텍스트 파일로 변환된 이진파일을 다시 원래의 이진파일로 만들려면, 디코딩을 해야 합니다.
base64.pl -d base64.txt ok.gif
이런 명령어로 다시 이진파일로 만들 수 있습니다. 아까 그 rss.gif 가 ok.gif 라는 이름으로 다시 만들어집니다.
base64에는 압축 기능이 없기에, 이진파일을 zip 등으로 압축한 후에, base64로 인코딩해 주는 것이 좋습니다.
▶▶ 텍스트파일(아스키파일) / 이진파일(바이너리파일) 의 차이점 - Text File, Binary File
tag: editor
텍스트 에디터 | 문서 편집기 | Text Editor
tag: linux
리눅스 Linux | 유닉스 Unix | 시그윈 Cygwin
tag: perl
Perl | 펄
<< Home