Base64가 뭔가요
바이너리 데이터를 텍스트로 바꾸는 인코딩입니다. 이미지나 파일을 문자열로 표현합니다. 이메일 첨부파일에 쓰입니다. 옛날 이메일 시스템은 텍스트만 전송했거든요. JSON이나 XML에 바이너리를 넣을 때도 씁니다. 웹 개발에서 자주 만납니다.
인코딩 원리
64개 문자를 사용합니다. 알파벳 대소문자 52개 숫자 10개 플러스와 슬래시 2개입니다. 3바이트를 4문자로 바꿉니다. 데이터가 약 33% 커집니다. 원본보다 용량이 늘어나는 단점이 있습니다. 하지만 텍스트로 안전하게 전송됩니다.
디코딩은 반대
Base64 문자열을 원래 바이너리로 복원합니다. 인코딩과 디코딩은 서로 역연산입니다. 손실이 없습니다. 원본 그대로 복구됩니다. 암호화가 아닙니다. 누구나 디코딩할 수 있습니다. 보안 목적으로 쓰면 안 됩니다.
웹 개발에서 활용
Data URI에 씁니다. 작은 이미지를 HTML이나 CSS에 직접 넣습니다. HTTP 요청을 줄여서 속도가 빨라집니다. 아이콘 같은 작은 이미지에 적합합니다. 큰 파일은 오히려 비효율적입니다. 적절한 크기에만 쓰세요.
API 통신
바이너리 파일을 JSON으로 보내야 할 때 씁니다. 이미지 업로드 API에서 많이 봅니다. 서버에서 받아서 디코딩 후 저장합니다. JWT 토큰도 Base64로 인코딩되어 있습니다. 점으로 구분된 세 부분이 각각 Base64입니다.
Base64 변환 도구
Base64 인코더/디코더에서 변환할 수 있습니다. 텍스트를 붙여넣으면 바로 인코딩됩니다. 반대로 Base64 문자열을 디코딩하는 것도 됩니다. 개발할 때 편리합니다. URL 인코더와 함께 쓰면 좋습니다.