Base64 인코더 · 디코더

텍스트 및 이미지 파일을 Base64 문자열로 상호 변환해요.

Base64 인코더 및 디코더는 일반 텍스트나 바이너리 이미지 파일을 이진 데이터를 아스키(ASCII) 텍스트 포맷으로 매핑해 주는 64진법 텍스트 인코딩 스키마를 통해 상호 변환해 주는 프론트엔드 및 백엔드 개발자 전용 유틸리티입니다. 이 도구는 웹 표준 API인 `FileReader`와 내장 자바스크립트 바이너리 함수들을 기반으로 작동하며, 서버 없는 변환 아키텍처를 구현해 줍니다. 데이터 웹 개발 과정에서 클라이언트와 서버 간 소형 그래픽 자산을 전송할 때 발생하는 HTTP 요청 수를 최적화하고자 이미지를 Base64 Data URI 형태로 HTML이나 CSS에 직접 인라인 매핑하거나, 암호화 패킷의 전송 무결성을 검증하기 위해 데이터를 64진법 문자열로 인코딩하는 상황이 빈번히 일어납니다. 본 도구는 입력하거나 파일로 올린 모든 데이터의 변환 가공이 100% 사용자의 웹 브라우저 가상 런타임 내에서 로컬 연산되므로, 인코딩되는 개인 정보, 키값 정보, 이미지 리소스 등이 외부 인터넷망을 타고 서버 로그에 기록되거나 외부로 유출될 우려가 전혀 없는 안전한 기밀 보안 작업 공간을 제공합니다. [Base64 인코딩 및 디코딩의 수학적 변환 원리] 컴퓨터의 2진수 데이터는 8비트(1바이트) 단위로 구성됩니다. Base64 인코딩 알고리즘은 이 8비트씩 나열된 바이너리 스트림 데이터를 6비트씩(2의 6승 = 64) 쪼개어 그룹화하는 수학적 인코딩을 적용합니다. 3바이트(24비트)의 데이터는 정확히 4개의 6비트 문자로 변환됩니다. 이때 6비트의 수치는 국제 표준 Base64 색인표에 정의된 안전한 영문 대소문자(A-Z, a-z), 숫자(0-9), 그리고 특수 기호 `+`, `/`로 일대일 매핑되며, 데이터 길이가 부족할 경우 채우기 기호인 `=` 패딩 문자를 끝부분에 채워 인코딩을 마감합니다. 디코딩은 이 역순으로 작동하여 6비트 아스키 문자의 색인 번호를 다시 조합하여 원래의 8비트 바이너리 데이터로 정밀 복원해 냅니다. [상세한 사용 가이드 및 사용법] 1. 인코더 탭: 텍스트를 인코딩하려면 상단 입력 창에 문장을 입력하고, 이미지 파일을 인코딩하려면 파일 드롭 영역에 파일(PNG, JPG 등)을 드래그해 놓습니다. 2. 데이터를 올리는 즉시 하단 결과창에 인코딩된 Base64 문자열이 실시간 생성됩니다. 이미지의 경우 HTML 태그용 `data:image/png;base64,...` 포맷 또는 순수 문자열 중 원하는 포맷을 선택해 추출할 수 있습니다. 3. 디코더 탭: 복사해 둔 Base64 문자열을 디코딩 입력 창에 붙여넣습니다. 4. 디코더는 코드를 실시간 판독하여 텍스트 데이터의 경우 본문을 복원해 보여주고, 이미지 코드의 경우 이미지를 브라우저 상에 시각적으로 복원해 화면에 즉시 로드해 줍니다. 5. '결과 복사' 또는 '파일 다운로드'를 누르면 최종 변환 데이터를 로컬 시스템으로 즉시 획득합니다. [자주 묻는 질문(FAQ) 및 이용 시 주의사항] - Q. 인코딩된 Base64 결과물 코드가 원본 파일보다 용량이 왜 더 큰가요? - A. Base64는 8비트 데이터를 6비트로 나누어 담기 때문에, 수학적으로 변환 후 파일 데이터 용량이 약 33% 반드시 증가하게 됩니다. 용량이 너무 크면 브라우저 렌더링 성능이 떨어지므로, 보통 20KB 미만의 아주 작은 로고나 아이콘 이미지 변환 시에만 Data URI 인라인 맵 기술을 사용하시는 것이 적합합니다. - Q. 디코딩을 시도했는데 오류 메시지가 뜹니다. 왜 그런가요? - A. 입력된 Base64 문자열의 끝에 공백이 포함되어 있거나, 알파벳/숫자/+/=/외의 특수 기호가 섞여 있을 때 구문 파싱 에러가 납니다. 클립보드에 복사할 때 문자열이 잘렸거나 공백이 섞였는지 여부를 다시 체크해 주시기 바랍니다.