[CS 기초] Base64 인코딩

개발者·2024년 7월 23일
0

CS

목록 보기
7/7
post-thumbnail
64개의 문자를 사용: A-Z, a-z, 0-9, +, /
8비트 데이터를 6비트 단위로 변환
패딩: 데이터 길이가 3의 배수가 아닐 경우 '=' 문자로 패딩

base64의 주요 용도

  • 이메일 첨부 파일 전송
  • URL 인코딩
  • 데이터 저장 및 전송 시 특수 문자 문제 해결

장점

  • 텍스트 기반 프로토콜에서 이진 데이터를 안전하게 전송할 수 있다.
  • 특수 문자나 줄바꿈 문자로 인한 문제를 피할 수 있다.
  • 국제 문자셋 간 호환성 문제를 해결할 수 있다.

단점

  • 데이터 크기가 약 33% 증가한다.
  • 인코딩과 디코딩 과정에서 약간의 처리 시간이 필요하다.
  • 인코딩된 데이터는 사람이 읽기 어렵다.

base64 인코딩은 좀 복잡해 보일 수 있지만 실제로는 꽤 재미있는 개념이다.

컴퓨터 세계에서 일종의 번역가역할을 한다고 생각하면 된다.

컴퓨터는 모든 정보를 0과 1로 된 이진 데이터로 저장한다.

그런데 이 이진 데이터를 그대로 텍스트로 보내면 문제가 생길 수 있다.

그래서 base64가 등장했다.

base64는 이 이진 데이터를 가져와서 사람들이 읽을 수 있는 문자로 바꿔준다.

A~Z, a~z, 0~9, 그리고 +와 /
이렇게 64개의 문자만 사용해서 모든 데이터를 표현한다.

재미있는 점은 이 과정에서 데이터가 좀 커진다.

원래 데이터보다 약 33% 정도 더 커진다. 하지만 이렇게 변환된 데이터는 어떤 시스템에서도 안전하게 전송될 수 있기 때문에 많이 사용된다.

profile
solrasido

0개의 댓글