# Base64 인코딩 (Base64)

Base64 인코딩은 6비트 값 0..63 (또는 16진수 00..3f)과 대부분의 컴퓨터에서 허용하는 텍스트 기호 간을 변환하는 공용 코드입니다. ASCII도 참조하십시오.

## 장점:

- **보편성:** Base-64로 인코딩된 데이터는 제한된 ASCII 문자 집합을 사용하므로 이메일 및 웹 브라우저를 포함한 대부분의 통신 채널을 통해 안전하게 전송할 수 있습니다.
- **데이터 무결성:** 표준화된 형식이 시스템 간의 문자 인코딩 차이로 인한 손상 위험을 최소화하므로 전송 중에 데이터가 손상되지 않도록 하는 데 도움이 됩니다.

## 단점:

- **데이터 크기 증가:** Base-64로 데이터를 인코딩하면 크기가 약 33% 증가하므로 대량의 데이터 또는 대역폭에 민감한 애플리케이션에 비효율적일 수 있습니다.
- **기밀성 없음:** Base-64 인코딩은 암호화가 아니므로 기밀성을 제공하지 않습니다. 인코딩된 데이터는 쉽게 역변환할 수 있으므로 누구나 원래 형식으로 디코딩할 수 있습니다.

## 사용 분야:

1. **웹 페이지에 이미지 포함:** Base-64를 사용하면 이미지 데이터를 HTML 또는 CSS 코드에 직접 포함하여 서버 요청 수를 줄이고 웹사이트 로딩 시간을 개선할 수 있습니다.
2. **이메일 첨부 파일:** 초기 이메일 시스템은 바이너리 데이터를 처리하도록 설계되지 않았습니다. Base-64 인코딩을 사용하면 문서 및 이미지와 같은 파일을 텍스트 기반 형식으로 표현하여 첨부 파일로 전송할 수 있었습니다.
3. **데이터 저장 및 전송:** Base-64는 구성 파일, XML 문서 또는 바이너리 데이터를 포함하는 데이터베이스 항목과 같이 데이터를 텍스트 기반 형식으로 저장하거나 전송해야 하는 애플리케이션에서 자주 사용됩니다.

## 비트에서 바이트, 그리고 텍스트로: 변환의 원리

이렇게 생각해보세요:

- 돈을 셀 때 원 단위를 쓰듯 컴퓨터는 **비트**(0과 1)를 단위로 씁니다.
- 이러한 비트는 함께 그룹화되어 일반적으로 8비트 덩어리로 **바이트**를 형성합니다.
- Base-64는 이 비트를 6개씩 묶어(6비트는 64가지 값을 나타냅니다) 출력 가능한 문자에 대응시킵니다.

## Base64 문자 집합: 64개의 문자

이 64개 문자는 다음과 같습니다.

1. 대문자 (A-Z)
2. 소문자 (a-z)
3. 숫자 (0-9)
4. 특수 문자 두 개: “+”와 “/”
5. 그리고 패딩용 “=”(데이터 길이가 3바이트 단위로 나누어떨어지지 않을 때 사용)

이런 방식으로 이미지 같은 복잡한 데이터도 Base-64를 거치면 인터넷을 통해 문제없이 전송할 수 있는 텍스트 형식으로 깔끔하게 포장됩니다.

## 이렇게 생각해보세요…

이국적인 과일을 취급하는 상인이라고 상상해 보세요. **망고, 파인애플, 용과**가 있는데 크기와 모양이 모두 달라 운반하기가 어렵습니다.

Base-64는 과일을 **표준화된 배송 상자**로 변환하는 것과 같습니다. 각 상자는 특정 무게 범위(6비트 값)만 담을 수 있습니다. 작은 망고든 큰 파인애플이든 이 형식으로 포장됩니다.

## 이것이 디지털 세계에서 중요한 이유

컴퓨터는 0과 1을 사용하여 통신합니다. 때로는 이미지나 이메일과 같이 복잡한 데이터를 보내야 하는데, 이것은 이국적인 과일과 같아서 모든 시스템에서 쉽게 이해할 수 없습니다.

이때 Base-64가 이 복잡한 데이터를 표준화된 텍스트 형식(상자)으로 변환하며, 64개의 일반적인 문자(A-Z, a-z, 0-9, +, /)로 표현합니다. 이렇게 하면 전 세계에 상자를 보내는 것처럼 데이터를 서로 다른 시스템 사이에서 문제없이 전송하고 해석할 수 있습니다.

## 요약

- **문제:** 복잡한 데이터를 서로 다른 컴퓨터 시스템 간에 전송하기 어렵습니다.
- **해결책:** Base-64는 표준화된 배송 상자처럼 작동하여 모든 데이터를 보편적으로 이해되는 텍스트 형식으로 변환합니다.

---
출처: https://achivx.kr/glossary/base-64-%EB%B2%A0%EC%9D%B4%EC%8A%A4-64/ · ACHIVX 용어 사전 · 수정일 2026-10-20
