Base64 인코더 / 디코더
[ 도구 상세 설명 및 자주 묻는 질문 보기 ]
UTF-8 기반 실시간 양방향 Base64 인코더 및 디코더 원리
Base64 인코딩(Base64 Encoding)은 8비트 이진(Binary) 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 64개 안전한 출력 문자(A-Z, a-z, 0-9, +, /)와 패딩 기호(=)로 변환하는 표준 인코딩 규격(RFC 4648)입니다. 원본 바이트 스트림을 3바이트(24비트) 단위로 묶은 뒤 6비트씩 4개의 그룹으로 분할하여 각각에 대응하는 Base64 색인 문자로 치환합니다. 이러한 특성 덕분에 전자우편 전송(MIME), HTML 및 CSS 내부의 Data URL 이미지 임베딩, 웹 API 요청 페이로드, JSON Web Token(JWT) 및 기본 인증(Basic Auth) 헤더 처리 등 다양한 개발 및 보안 환경에서 데이터 손실을 방지하기 위해 필수적으로 활용됩니다.
특히 일반적인 브라우저 기본 함수인 window.btoa()와 window.atob()는 1바이트 Latin-1(ISO-8859-1) 문자셋만 허용하도록 설계되어 있어, 한글이나 일본어, 중국어, 아랍어, 이모지(Emoji) 같은 멀티바이트 유니코드(Unicode) 문자를 바로 변환하면 InvalidCharacterError 예외가 발생하거나 디코딩 시 심각한 Base64 한글 깨짐(문자 깨짐) 현상이 발생합니다. Tai Base64 변환기는 현대 웹 표준인 TextEncoder와 TextDecoder('utf-8') 바이트 배열 파이프라인을 결합하여, 모든 다국어 텍스트와 특수 기호를 완벽한 UTF-8 바이트 시퀀스로 정밀하게 인코딩 및 디코딩합니다.
URL-Safe Base64 변환 기능 안내
표준 Base64 출력 결과에 포함되는 +(플러스), /(슬래시), =(등호) 문자는 웹 브라우저 주소창(URL Query String), 쿠키, 파일 시스템 경로, REST API 파라미터에서 예약어로 인식되어 예상치 못한 구문 오류나 데이터 변형을 일으킬 수 있습니다. 상단의 URL-Safe 체크박스를 활성화하면 RFC 4648 Section 5 규격에 따라 +는 -(하이픈)로, /는 _(언더스코어)로 자동 변환되며 후행 패딩 문자(=)가 제거되어 별도의 퍼센트 인코딩(URL Encoding) 없이도 안전하게 전송할 수 있습니다.
자주 묻는 질문 (FAQ)
Q1. 입력한 텍스트나 소스 코드, 인증 토큰이 외부 서버로 전송되나요?
아니요. Tai의 모든 Base64 인코딩 및 디코딩 연산은 외부 서버와의 네트워크 통신 없이 오직 사용자의 웹 브라우저 로컬 메모리(Client-Side JavaScript) 내에서만 100% 즉시 처리됩니다. 민감한 API 키, JWT 토큰, 개인정보가 포함된 문자열도 정보 유출 걱정 없이 안전하게 변환할 수 있습니다.
Q2. 다른 사이트에서 인코딩한 한글 Base64 코드가 깨져서 보일 때는 어떻게 하나요?
타 도구에서 EUC-KR 또는 잘못된 Latin-1 강제 치환 방식으로 생성된 문자열이 아니라면, 표준 UTF-8 기반의 Base64 코드는 오른쪽 입력창에 붙여넣는 즉시 왼쪽 일반 텍스트 영역에 한글과 이모지가 깨짐 없이 즉시 복원됩니다. 줄바꿈(개행)이나 공백이 섞여 있는 긴 Base64 블록도 자동으로 정제하여 정확히 디코딩합니다.
Q3. 끝에 등호(=) 패딩이 생략된 Base64 문자열도 디코딩할 수 있나요?
네, 가능합니다. 디코더 엔진이 입력된 문자열의 길이를 분석하여 부족한 4바이트 배수 패딩(= 또는 ==)을 자동으로 복구한 뒤 UTF-8 검증을 수행하므로, 표준 Base64와 URL-Safe Base64 문자열 모두 별도의 설정 변경 없이 즉시 원본 텍스트로 디코딩할 수 있습니다.