[1. 바이너리 파일]
이진파일(binary file)은 텍스트 파일이 아닌 컴퓨터 파일이다.
바이너리 파일 이라는 용어는 종종 'Non text file'을 의미하는 용어로 사용된다.
컴퓨터 파일로 컴퓨터 저장과 처리를 목적으로 위해 이진 형식으로 인코딩된 데이터를 포함한다.
<출처 : 위키백과>
쉽게 다시 말하자면 바이너리 파일은 우리가 알고있는 .jpg, .png, .mp3, .exe와 같은 파일을 말합니다.
그리고 사용자 또는 프로그램이 사용하던 정보나 숫자값을 특별한 가공 없이 그대로 파일에 저장합니다.
따라서 바이너리 파일은 데이터를 읽거나 쓸때 파일구성 형식에 특별한 조건이 없기 때문에 대부분은 데이터의 크기로 판단합니다.
그래서 '한 줄에 해당하는 데이터를 읽어라'나 '파일의 끝까지 읽어라'와 같은 명령을 사용하지 않고, '10바이트를 읽어라', '20바이트를 읽어라'와 같은 명령을 사용합니다.
예를 들어, 아래와 같이 변수 data 와 temp에 저장된 값을 바이너리 파일에 저장하고 싶다면, 변수 data와 temp 변수의 크기만큼을 그대로 파일에 저장하면 됩니다.
바이너리 파일은 이런 특징 때문에 파일의 내용을 확인하려면 해당 파일을 볼 수 있는 프로그램이 별도로 필요합니다.
다시 말해서, png형식의 그림파일을 보려면 그림판과 같이 그림파일을 보여줄수 있는 프로그램이 설치되어야 제대로 읽을 수 있다는 의미입니다.
만약에 png 그림파일을 전용프로그램이 아닌 메모장에서 사용하면 아래와 같이 알 수 없는 문자로 표시됩니다.
[2. 텍스트 파일]
텍스트 파일은 문자를 기반으로 하는 코드 값이 저장된 파일입니다.
즉, 문자라는 가공조건이 하나 추가된 형식의 파일입니다.
예를 들어, ASCII 기반의 텍스트 파일이라면 해당 파일에는 ASCII 형식의 문자열이 저장되어 있습니다.
따라서 텍스트 파일을 사용할 때는 문자열 개념을 그대로 사용할 수 있기 때문에 문자열을 입력/ 출력할 때 사용하던 printf함수나 scanf함수와 유사한 형태의 함수를 사용하게 됩니다.
저장된 텍스트 파일의 내용은 텍스트 파일을 열어서 보여주는 메모장과 같은 프로그램을 이용해서 확인할 수 있습니다.
그리고 텍스트 파일은 문자 기반으로 되어있기 때문에 전용 프로그램이 아니더라도 문자열만 확인할 수 있는 프로그램이나 명령을 사용하면 파일의 내용을 확인할 수 있습니다.
예를 들어 '명령 프롬프트'에서도 type이라는 기본 명령어를 사용해서 파일의 내용을 확인할 수 있습니다.
'CS' 카테고리의 다른 글
[CS] 프로그래밍 에러의 종류 ( 컴파일 / 런타임 / 논리 / 시스템 / 링킹 에러 ) (0) | 2022.04.07 |
---|---|
파스칼 케이스 / 카멜 케이스 / 스네이크 케이스 - 표기법 구분하기! (0) | 2022.04.06 |
프로세스 & 스레드 란? Process와 Thread 정리 (0) | 2022.04.05 |
JDK vs JRE (0) | 2022.01.24 |
[CS] BUILD 란? (0) | 2022.01.24 |