바이너리 파일: 문자와 숫자가 저장되어 있는 파일(이미지 파일)
텍스트 파일 : 문자만 저장되어 있는 파일(메모장)
바이너리 파일은 데이터를 있는 그대로 읽고 쓰는 반면 텍스트 파일은 숫자를 문자로 변환 후 쓴다. int,float형이 char형으로 변화한다.
int 24 4byte -> char 2 char 4 2byte
float 12.625 4byte -> char 1,char 2,char .,char 6,char 2,char 5 총 6byte 크기가 커질 때도 작아질 때도 있다.
MIME - Multipurpost Internet Mail Extensions
텍스트 기반의 프로토콜에서 바이너리 데이터를 전송하기 위해 고안 되었다.http의 content-type 헤더에 데이터의 타입을 명시해준다.
text - 텍스트를 포함하는 모든 문서 - text/plain,text/html,text/css,text/javascript
image - 모든 종류의 이미지 - image/bmp,image/webp
audio - 모든 종류의 오디오 파일 - audio/midi,audio/mpeg,audio/webm,audio/ogg,audio/wav
video - 모든 종류의 오디오 파일 - video/webm,video/ogg
application - 모든 종류의 이진 데이터 - application/octetstream,등등
Base64 - 64진법
바이너리 데이터를 텍스트 데이터로 변환할 때 사용하는 가장 기본적인 64진법
모든 데이터를 6bit씩 자른뒤 base64 문자로 전부 바꿔버린다.
아스키는 128개이며 특수문자를 포함해서 안전하지 않다.모든 os에서 안전한게 base 64. 그 대신 용량이 33% 커진다는 단점이 있다.
이미지 파일을 base64로 변환한 뒤 img 태그 src에 넣어주면 이미지 파일이 브라우저에서 출력된다!
src="data:image/jpeg;base64"