작업 히스토리 (History)
기록된 작업이 없습니다.

로그인하시면 작업 기록을 무제한으로 저장하고 여러 기기에서 동기화하여 사용할 수 있습니다.

ENCODERDECODERCONVERSION

Base64 변환기

텍스트나 이미지를 Base64 형식으로 인코딩 및 디코딩합니다.

INPUT (ENCODE)
0 chars
OUTPUT
0 chars

도구 설명 및 사용 방법

Base64 인코더/디코더는 텍스트나 바이너리 데이터를 64진법 아스키 문자로 변환하거나, 반대로 원래 데이터로 복원하는 유틸리티입니다. 이메일 첨부파일, 데이터 URL 또는 데이터 전송 시 바이너리 손상을 방지하기 위해 주로 사용됩니다.

사용 단계

1
상단의 탭에서 "인코딩(Encode)" 또는 "디코딩(Decode)" 모드를 선택합니다.
2
입력 창에 변환할 텍스트를 입력하거나 파일을 업로드합니다.
3
실시간으로 변환 결과가 하단 결과 창에 표시됩니다.
4
"복사" 버튼을 눌러 결과값을 클립보드에 저장하거나 "다운로드" 버튼을 통해 파일로 저장할 수 있습니다.

작동 원리 및 상세 설명

Base64는 8비트 이진 데이터를 64가지의 아스키 문자(A-Z, a-z, 0-9, +, /)로만 이루어진 문자열로 치환하는 인코딩 방식입니다. 주로 이메일 전송(MIME)이나 웹 환경(Data URL)에서 바이너리 데이터(이미지, 오디오 등)의 깨짐 현상을 방지하기 위해 널리 사용됩니다. 인코딩 과정은 입력 데이터를 3바이트(24비트) 단위로 나눈 뒤, 이를 다시 6비트씩 쪼개어 총 4개의 Base64 문자로 변환합니다. 만약 원본 데이터가 3바이트 단위로 딱 떨어지지 않는 경우, 부족한 자리를 채우기 위해 인코딩 끝부분에 패딩 문자인 '='가 추가됩니다. 주의할 점은 Base64가 암호화 기술이 아니라는 것입니다. 단지 형식의 변환일 뿐이므로 누구나 쉽게 디코딩하여 원본 데이터를 볼 수 있습니다. 따라서 비밀번호, 개인정보, 기밀 문서 등은 별도의 암호화 알고리즘(AES, RSA 등)과 함께 사용해야 안전합니다.

자주 묻는 질문 (FAQ)

Base64 인코딩은 암호화 방법인가요?
아닙니다. Base64는 암호화가 아니라 8비트 이진 데이터를 문자 깨짐 없이 안전하게 전송하기 위한 64진법 텍스트 변환(인코딩) 기법입니다. 누구나 쉽게 다시 디코딩하여 원본을 읽을 수 있으므로 비밀번호 등 민감 정보를 Base64로만 변환해 보관하는 것은 위험합니다.
인코딩 결과 끝에 있는 = 문자는 무엇인가요?
등호(=) 문자는 패딩(Padding) 문자입니다. Base64는 3바이트(24비트)의 데이터를 4글자(각 6비트)로 표현하므로, 원본 데이터가 3바이트 배수로 나누어떨어지지 않을 경우 빈자리를 채우기 위해 덧붙이는 규격 기호입니다.

코드 사용 예시

문자열 Base64 인코딩 예시 (JavaScript)
javascript
// Javascript로 Base64 인코딩/디코딩 처리 예시
const originalText = "Hello, ToolBoxDev!";
const encodedText = btoa(unescape(encodeURIComponent(originalText)));
console.log("Encoded:", encodedText); // "SGVsbG8sIFRvb2xCb3hEZXYh"

const decodedText = decodeURIComponent(escape(atob(encodedText)));
console.log("Decoded:", decodedText); // "Hello, ToolBoxDev!"

브라우저 환경에서 유니코드 한글 문자열이 깨지지 않도록 처리하는 인코딩/디코딩 예시입니다.