Base64 인코딩과 디코딩: 텍스트 변환기

텍스트를 Base64로 인코딩하거나 Base64를 다시 텍스트로 디코딩하며, URL 안전 출력과 줄 단위 처리를 지원합니다.

Base64 변환기

문제 신고

Base64 인코딩과 디코딩: 텍스트 변환기에 대한 버그나 제안이 있으신가요? 알려주세요!

Base64 결과

Base64 인코딩과 디코딩

이 도구는 텍스트를 Base64로 인코딩하고, Base64 문자열을 다시 읽을 수 있는 텍스트로 디코딩합니다. 모든 처리는 서버로 전송하지 않고 브라우저 안에서 이루어집니다. 인코딩 모드와 디코딩 모드를 전환할 수 있고, 교체 버튼을 사용하면 현재 결과를 반대로 바꾸면서 모드도 한 번에 전환됩니다. 초기화 버튼을 누르면 입력란과 출력란이 한 번에 비워집니다.

Base64 인코딩의 작동 방식

Base64는 원본 바이트를 3바이트(24비트)씩 묶고, 각 그룹을 6비트짜리 조각 네 개로 나누어 인쇄 가능한 문자로 바꿉니다. 각 조각은 A-Z, a-z, 0-9와 "+", "/"로 이루어진 64개 문자 중 하나에 대응합니다. 입력이 3바이트의 배수가 아니면 출력 끝에 "="을 하나 또는 두 개 붙여서 결과가 4문자의 배수가 되도록 맞춥니다. URL 안전 옵션을 켜면 "+"는 "-"로, "/"는 "_"로 바뀌고 "=" 패딩도 제거되어, 문자열을 URL 경로나 파일 이름에 그대로 사용할 수 있습니다. 디코딩할 때는 붙여넣은 텍스트의 공백과 줄바꿈이 자동으로 제거된 뒤 나머지 문자가 해석됩니다. 결과는 알파벳과 숫자로만 이루어져 있으므로, 이메일 본문이나 JSON 파일에도 특수 문자 문제 없이 그대로 붙여넣을 수 있습니다.

계산 예시

"고양이"(9바이트)를 인코딩하면 패딩 없이 "6rOg7JaR7J20"가 됩니다. 9는 3의 배수이기 때문입니다. "잘 지내요"(13바이트)를 인코딩하면 "7J6YIOyngOuCtOyalA=="가 되며, 두 개의 "=" 기호는 마지막 그룹이 3바이트가 아니라 1바이트였음을 나타냅니다. URL 안전 모드를 켜면 두 경우 모두 "=" 기호가 사라집니다. 디코딩 모드로 전환한 뒤 "7J6YIOyngOuCtOyalA=="를 붙여넣으면 다시 "잘 지내요"가 됩니다. 이 상태에서 교체 버튼을 누르면 입력란과 출력란의 내용이 서로 자리를 바꾸고, 모드도 동시에 반대로 전환됩니다.

실제 값으로 보는 변환 전후 비교 예시

입력(UTF-8 텍스트):
잘 지내요

인코딩됨(Base64):
7J6YIOyngOuCtOyalA==

인코딩됨(URL 안전, 패딩 없음):
7J6YIOyngOuCtOyalA

"줄 단위로 처리" 옵션을 켜면 입력의 각 줄이 개별적으로 인코딩되거나 디코딩되고, 결과는 선택한 구분자(줄바꿈, 쉼표, 세미콜론, 공백)로 다시 합쳐집니다. 이 옵션은 여러 값을 한 번에 변환하면서도 값들이 하나로 뒤섞이지 않게 해줍니다. UTF-8, ASCII, ISO-8859-1, EUC-KR을 포함한 문자 인코딩 선택 항목은 인코딩 전에 텍스트를 바이트로 바꾸는 방식과 디코딩된 바이트를 다시 텍스트로 바꾸는 방식을 결정합니다. 로컬 텍스트 파일을 업로드하거나 클립보드에서 붙여넣고, 결과를 .txt 파일로 다운로드할 수도 있으며, 어떤 데이터도 브라우저 밖으로 전송되지 않습니다.

자주 묻는 질문