Base64

Base64 문자열을 인코딩하고 디코딩합니다

입력
출력

Base64란 무엇이며 언제 사용되나요?

Base64는 임의의 바이트를 64개의 인쇄 가능한 ASCII 문자(A–Z, a–z, 0–9, `+`, `/`)만 사용하여 표현합니다. 텍스트를 기대하는 곳에 이진 데이터를 포함하는 데 사용됩니다 — 이메일 첨부파일(MIME), 데이터 URI(`data:image/png;base64,...`), JWT 토큰, 기본 인증 헤더, 구성 파일 등입니다.

인코딩은 약 33%의 오버헤드를 추가합니다 — 세 개의 입력 바이트가 네 개의 출력 문자로 변환됩니다. 브라우저의 기본 `btoa`/`atob`는 라틴-1 문자열만 처리하므로, 이 도구는 이모지나 비라틴 텍스트를 인코딩할 때 '문자가 범위를 초과했습니다' 오류를 피하기 위해 적절한 UTF-8 변환으로 감쌉니다.

사용 사례

  • 작은 자산을 인라인으로 포함 — 1×1 추적 픽셀 또는 SVG 아이콘을 CSS 또는 HTML에 붙여넣을 수 있는 data: URI로 변환합니다.
  • 일반 텍스트 채널에서 이진 인코딩 — protobuf, 이미지 또는 서명을 Base64로 감싸 JSON, 이메일 또는 쿼리 문자열을 통해 안전하게 전송합니다.
  • 토큰 또는 ID를 인코딩합니다 — 이는 표준 Base64를 출력합니다; URL 또는 파일 이름 사용을 위해 `+`를 `-`로, `/`를 `_`로 바꾸세요.
  • JWT 및 OAuth 상태 검사 — JWT의 각 세그먼트를 Base64로 디코딩하여 온라인 디버거를 신뢰하지 않고 헤더와 페이로드를 읽습니다.

예시

입력결과
Hello, World!SGVsbG8sIFdvcmxkIQ==
Café ☕Q2Fmw6kg4piV

자주 묻는 질문

브라우저의 기본 btoa가 이모지에서 실패하는 이유는 무엇인가요?

`btoa`는 라틴-1(단일 바이트) 문자만 허용합니다. 다중 바이트 UTF-8 시퀀스는 'InvalidCharacterError'를 발생시킵니다. 이 도구는 먼저 UTF-8 바이트로 인코딩한 다음 Base64로 변환하여 모든 유니코드를 처리합니다.

URL 안전한 Base64란 무엇인가요?

`+`를 `-`로, `/`를 `_`로 바꿔서 문자열이 URL 및 파일 이름에서 안전하게 만들어집니다. 참고: 이 도구는 표준 Base64를 출력하므로 URL 안전한 형식이 필요하면 직접 바꾸세요.

디코딩된 출력이 왜 엉망으로 보이나요?

Base64가 손상되었거나, URL 안전했거나 (이 도구는 표준 Base64를 디코딩합니다 — 먼저 `-`를 `+`로, `_`를 `/`로 바꾸세요), 또는 처음부터 텍스트가 아니었을 수 있습니다 — Base64는 일반적으로 읽을 수 없는 텍스트로 디코딩되지 않는 이진 데이터를 인코딩합니다.

Base64는 안전한가요?

아니요 — Base64는 인코딩이지 암호화가 아닙니다. 누구나 이를 디코딩할 수 있습니다. 전송을 위해 사용하고 비밀을 숨기기 위해 사용하지 마세요.

이 도구는 무엇인가요?

아니요. 인코딩과 디코딩은 브라우저에서 발생하며, 서버로 전송되는 것은 없습니다.