MCP로 연결 →

계산 입력

공식

광고

결과

Base64 출력
SGVsbG8=
UTF-8 인코딩됨
입력 바이트 (UTF-8) 5
출력 문자 수 8

Base64 인코딩이란?

Base64는 바이너리 데이터를 텍스트로 표현하는 인코딩 방식으로, 임의의 바이트 데이터를 출력 가능한 64개의 ASCII 문자만으로 나타냅니다. 사용하는 문자는 A-Z, a-z, 0-9+, /입니다. HTML/CSS에 이미지를 직접 삽입할 때(data URI), 이메일에 바이너리 첨부 파일을 보낼 때(MIME), JSON 웹 토큰(JWT) 등 바이너리 데이터가 텍스트만 허용되는 경로를 안전하게 통과해야 하는 거의 모든 곳에서 널리 쓰입니다. 이 도구는 입력한 모든 텍스트를 인코딩합니다 — 먼저 UTF-8 바이트로 변환한 뒤 인코딩합니다.

인코더 사용 방법

입력란에 텍스트를 입력하거나 붙여넣고 실행하세요. 계산기가 텍스트를 UTF-8 바이트로 변환하고 표준 Base64 알고리즘을 적용한 뒤, 인코딩된 문자열과 함께 입력 바이트 수, 출력 문자 수를 알려줍니다.

공식 설명

인코더는 입력 바이트를 3개씩 읽습니다. 3바이트는 24비트가 되고, 이 24비트는 6비트짜리 4개의 조각으로 정확히 나뉩니다. 각 6비트 값(0~63)이 문자 집합의 인덱스가 되어 출력 문자 하나를 만듭니다. 입력 길이가 3의 배수가 아닐 때는 마지막 그룹에 패딩을 채웁니다. 남은 바이트가 1개면 문자 2개와 ==가, 2개면 문자 3개와 = 하나가 붙습니다. 따라서 출력 길이는 항상 4 × ceil(n/3)입니다.

$$\text{Base64} = \operatorname{encode}_{64}\!\left(\text{Text}\right), \qquad L_{out} = 4 \left\lceil \frac{L_{in}}{3} \right\rceil$$

광고
8비트 바이트 3개가 6비트 Base64 문자 4개로 재구성되는 과정을 보여주는 다이어그램
Base64는 8비트 바이트 3개(24비트)를 6비트 단위 4개로 재구성하고, 각각을 한 문자로 매핑합니다.

예제로 보기

텍스트 Man을 인코딩해 봅시다. ASCII 바이트는 77, 97, 110 → 이진수로 01001101 01100001 01101110입니다. 6비트씩 묶으면 \(010011 = 19 \to T\), \(010110 = 22 \to W\), \(000101 = 5 \to F\), \(101110 = 46 \to u\)가 됩니다. 결과는 TWFu — 입력 3바이트, 출력 4문자이며 패딩은 없습니다.

단어를 텍스트에서 바이트, 비트, Base64 문자로 변환하는 단계 흐름
실전 예시: 텍스트가 바이트가 되고, 6비트 그룹이 되고, 최종 Base64 문자열이 됩니다.

자주 묻는 질문

출력 끝에 = 기호가 붙는 이유는? 입력이 3바이트의 배수가 아닐 때 마지막 그룹을 채우는 패딩입니다. 덕분에 출력 길이는 항상 4의 배수가 됩니다.

Base64는 데이터를 암호화하나요? 아닙니다. Base64는 인코딩일 뿐 암호화가 아닙니다 — 누구나 디코딩할 수 있습니다. 단지 바이너리를 텍스트로 안전하게 전송할 수 있게 해줄 뿐입니다.

출력이 입력보다 커지는 이유는? Base64는 3바이트마다 4문자로 바뀌기 때문에 데이터 크기가 약 33% 늘어납니다.

최종 업데이트: