64개의 문자를 사용: A-Z, a-z, 0-9, +, /
8비트 데이터를 6비트 단위로 변환
패딩: 데이터 길이가 3의 배수가 아닐 경우 '=' 문자로 패딩
base64 인코딩은 좀 복잡해 보일 수 있지만 실제로는 꽤 재미있는 개념이다.
컴퓨터 세계에서 일종의 번역가
역할을 한다고 생각하면 된다.
컴퓨터는 모든 정보를 0과 1로 된 이진 데이터로 저장한다.
그런데 이 이진 데이터를 그대로 텍스트로 보내면 문제가 생길 수 있다.
그래서 base64가 등장했다.
base64는 이 이진 데이터를 가져와서 사람들이 읽을 수 있는 문자로 바꿔준다.
A~Z, a~z, 0~9, 그리고 +와 /
이렇게 64개의 문자만 사용해서 모든 데이터를 표현한다.
재미있는 점은 이 과정에서 데이터가 좀 커진다.
원래 데이터보다 약 33% 정도 더 커진다. 하지만 이렇게 변환된 데이터는 어떤 시스템에서도 안전하게 전송될 수 있기 때문에 많이 사용된다.