{ }JSONKit.tools

Base64 인코딩 (온라인)

어떤 텍스트든 Base64로 바꿉니다. 이모지도 비라틴 문자도 됩니다. 결과가 URL이나 JWT 안에서 오가야 한다면 URL 안전을 켜세요.

인코딩⇄디코딩

텍스트

Base64

입력을 기다리는 중…

이 도구에 대하여

Base64는 텍스트만 받아들이는 통로로 임의의 바이트를 보내기 위해 존재합니다. HTTP 헤더, data URI, 메일 본문, JSON 문자열 같은 곳입니다. 이 인코더는 입력을 먼저 UTF-8로 바꾸는데, 비라틴 문자와 이모지가 그대로 돌아오는 이유가 바로 그것입니다. 브라우저 자체의 btoa()는 그런 문자를 아예 거부합니다. URL 안전 스위치는 +와 /를 -와 _로 바꾸고 = 채움을 없앱니다. JWT와 URL 매개변수가 쓰는 변형입니다.

사용 방법

  1. 1인코딩할 텍스트를 왼쪽에 붙여넣거나 입력합니다.
  2. 2결과가 URL이나 파일 이름, JWT에 들어간다면 URL 안전을 켭니다.
  3. 3복사를 누릅니다. 되돌리는 작업은 Base64 디코딩 페이지가 바로 옆에 있습니다.

자주 묻는 질문

›Base64로 만들면 데이터가 커지는 이유는?

3바이트마다 인쇄 가능한 4문자로 부호화하므로 출력이 약 33% 커집니다. 텍스트만 받는 통로로 이진 데이터를 보내기 위해 치르는 대가입니다.

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

표준 문자 집합은 +와 /를 쓰는데 이들은 URL에서 고유한 의미를 갖고, = 채움도 이스케이프가 필요합니다. URL 안전 변형은 그것들을 -와 _로 바꾸고 채움을 없애므로 결과를 경로나 쿼리 문자열에 그대로 넣을 수 있습니다. JWT가 쓰는 것이 바로 이 변형입니다.

›이모지나 비라틴 문자도 처리하나요?

합니다. 텍스트를 먼저 UTF-8로 부호화하므로 키릴 문자, 한자, 이모지가 온전히 남습니다. 브라우저의 단순한 한 줄짜리 btoa(text)는 U+00FF를 넘는 문자가 있으면 예외를 던집니다.

›Base64는 암호화인가요?

아니며, 이 점이 중요합니다. Base64는 부호화이지 암호가 아닙니다. 누구든 키 없이 즉시 디코딩할 수 있습니다. 비밀번호나 토큰을 숨기는 데 절대 쓰지 마세요.

›커맨드라인에서는 어떻게 하나요?

macOS와 Linux에서는: printf %s "text" | base64. 디코딩하려면 -d 플래그를 붙입니다. Windows PowerShell에서는 [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))가 필요합니다.