바이너리 파일 : 문자와 숫자 저장되어 있는 파일 데이터 있는 그대로 읽고 쓴다
텍스트 파일 : 문자만 저장되어 있는 파일 ( 숫자 -> 문자 ) 로 변환후 사용
텍스트 기반 프로토콜에 바이너리 데이터 전송하기 위해 고안
HTTP의 Content-Type헤더에 사용. 데이터의 타입을 명시한다.
ex) response.setContentType("text/html")
response.setContentType("image/jpeg")
바이너리 데이터를 텍스트 데이터로 변환할 때 사용
1. 24bit의 buffer 생성한 것에 데이터를 넣는다.
2. 데이터를 6bit씩 끊어서 ascii문자(8bit)로 변환
3. 6bit 4개씩 모아 변환시킬때 마지막 비는 공간(padding)은 '='문자로 채운다.
4.
ascii코드는 시스템(os)간 데이터를 전달하기에 안전하지 않다.
모든 binary 데이터가 ascii코드에 포함되지 않으므로 제대로 읽기가 쉽지않다.
base64는 ascii코드중 변환에 영향받지 않는 문자만 사용하기에 데이터 전달에 더 적합하다.