유틸리티 소개

Base64 인코딩이 뭔지 쉽게 설명해본다

개발 관련 글 보다가 Base64라는 단어가 자꾸 나와서 찾아봤다. 이진 데이터를 텍스트로 바꾸는 방식이더라.

Base64가 필요한 이유

이메일이나 URL에는 특수문자를 넣기 어렵다. 이미지 같은 바이너리 데이터는 더더욱 그렇다. Base64로 변환하면 알파벳과 숫자로만 표현되니까 전송이 가능해진다.

어디서 쓰이나

이메일 첨부파일, HTML에 이미지 직접 삽입, API 인증 등에서 쓴다. JWT 토큰도 Base64로 인코딩되어 있다. 온라인 인코더로 직접 변환해볼 수 있다.

주의할 점

Base64는 암호화가 아니다. 누구나 디코딩할 수 있다. 보안 목적으로 쓰면 안 된다.

사용 예시

Hello를 Base64로 바꾸면 SGVsbG8= 가 된다. 변환된 데이터가 약 33% 커지는 단점이 있다. 변환 도구로 테스트해보자.

인코딩 문제 해결하기

한글이 깨지면 대부분 인코딩 문제다. UTF-8이 현재 표준이니 이걸로 맞추자. 파일 저장할 때 인코딩을 명시적으로 지정해야 한다. 데이터베이스 설정도 확인해봐야 한다. 인코딩 변환 도구를 활용하면 문제를 해결할 수 있다.

인코딩의 실제 활용

이메일 첨부파일, 이미지 데이터 URI 등 Base64는 생각보다 많이 쓰입니다. 원리를 알면 왜 파일 크기가 커지는지도 이해가 되죠. 인코딩 변환 도구로 직접 변환해보면서 배워보세요.

웹 개발하다 보면 자연스럽게 마주치는 개념이니 미리 알아두면 좋습니다.

Data URI로 이미지를 직접 HTML에 넣을 때도 Base64를 씁니다. 작은 아이콘 같은 건 이렇게 처리하면 HTTP 요청을 줄일 수 있어요.