바이너리파일도 텍스트화시켜서 다시 바이너리로 만들수 있나요?
안녕하세요.
텍스트파일이나 자바 파일은 내용이 텍스트라서 해당 내용 을 복사해서 새로운 파일에 붙여 넣기 해서 동일한 파일을 만들수 있는 것으로 알고 있는데요..
압축파일이나 exe 파일같은경우는 바이너리라서 파일자체를 복사하진 않고서는 동일한 파일을 만드는게 가능할지 모르겠는데요.. 혹시 가능한가요?
그림파일같은경우는 바이너리더라도 base 64로 인코딩해서 텍스트로 가져온뒤 이를 다시 그림파일로 구현하는게 가능한것으로 알고 있는데요..혹시 zip 압축파일은 가능한지 궁금합니다.
혹시 알고 계시면 답변부탁드립니다.
Base64의 뜻을 직역하면 64진법이 됩니다.
Base64의 목적은 바이너리 데이터를, 인코딩에 영향을 받지 않는 ASCII 문자로만으로 표현해서
인코딩에 상관 없이 전송하고, 다시 원래의 바이너리 데이터로 돌려낼 수 있게 하는 것입니다.
그림 파일만이 아니라 zip 압축 파일, 실행 파일 exe 등, 어떤 파일이라도
Base64 인코딩으로 만든 텍스트를, 디코딩으로 원래대로 돌릴 수 있습니다.
네. 가능합니다!
바이너리 파일은 기본적으로 "행 단위"가 아닌 모든 파일들을 다 일컫습니다. 표시용 문자와 개행문자 외에 다른 기호가 들어 있는 파일들도 바이너리 파일입니다.
따라서 C 프로그래밍 언어로 작성된 프로그램은 텍스트 파일이지만, 이것을 컴파일하여 나온 결과물은 바이너리입니다.
Perl 프로그램은 텍스트 파일이지만, 이것을 PAR::Packer를 사용하여 압축한다면 바이너리 파일이 될 것입니다.
마이크로소프트 워드 파일은 바이너리 파일입니다. 실제 텍스트 외에 글꼴의 크기와 색상을 지정하기 위한 다양한 문자들이 포함되어 있기 때문입니다.
Open Office Write 파일은 바이너리 파일입니다. 왜냐하면 이것은 XML 파일들을 zip으로 압축한 세트이기 때문입니다. 그러나 이 안에 압축되어 있는 XML 파일들은 텍스트 파일들입니다. 이 안에도 텍스트와 글꼴 크기와 색상을 나타내는 문자들이 포함되어 있지만요.
HTML 파일들도 텍스트 파일입니다. 비록 브라우저로 볼 때는 나타나지 않는 수많은 문자들을 포함하고 있지만 말이죠. 개행문자가 브라우저로 볼 때 위에서 설명했던 개행 문자의 뒤에 있는 문자가 다음 줄에 표시되지 않는데도 여전히 텍스트 파일로 간주됩니다. HTML 파일이 텍스트 파일로 간주되는 이유는, 모든 "제어 문자"들 자체도 통상의 텍스트 편집기로 볼 수 있는 "출력가능한 문자"들로 이루어져 있기 때문입니다.
질문이 우왕좌왕이시네요
아마도 파일에 대한 이해도가 떨어져서
그런것.같은데요
우선 a.txt 파일을 복사 붙이기해서
B.txt 란 이름으로 그대로 만드는거.가능합니다
그리고
압축파일이나 exe 파일같은경우는 바이너리라서 파일자체를 복사하진 않고서는 동일한 파일을 만드는게 가능할지 모르겠는데요.. 혹시 가능한가요? 라고 질문을 해주셨는데요
이것.역시 hexa editor 라던지 byte 단위로
편집할수 있는 에디터가.있다면 일부분 또는.전체를.복사붙이기가 가능하지만
이렇게 하지는 않죠^^
그리고 3번째 질문
그림파일같은경우는 바이너리더라도 base 64로 인코딩해서 텍스트로 가져온뒤 이를 다시 그림파일로 구현하는게 가능한것으로 알고 있는데요..혹시 zip 압축파일은 가능한지 궁금합니다. 라고 하셨는데
당연히.가능합니다
이를 위해선 어떤 상황인지를 정의하셔야
더 정확한.답변을 할수있는데
그냥 순수 구현에만 촛점을.맞춘다면?
프로그램을.개발하여 그림 가져오기
그림분석후 base64 엔코딩
Base64엔코딩된것을 다른창으로 보내
디코딩 하여 이미지 출력
이렇게 할수있겠죠^^
결론은 다 가능하다입니다