인코딩은 데이터를 효율적으로 저장, 전송, 처리 할 수 있도록 데이터를 이진형식(바이너리)로 변환하는 과정이다.
base64는 바이너리데이터를 텍스트로 바꿔주는 인코딩이다.
base64인코딩을 하게되면 데이터의 양이 33%정도 늘어난다는데, 왜사용하는건가?
그건 ASCII로 인코딩을 하게되면 시스템간 데이터를 전달할때 1bit를 처리하는 방식이 시스템별로 상이하다라던지, 일부 제어문자가 시스템별로 다른 코드값을 갖는다던지 여러 문제가 발생 할 수 있다. 그래서 제어문자와 일부 특수문자를 제외한 64개의 안전한 출력문자를 사용하는 base64가 사용된다.