Base64 인코딩 (온라인)
어떤 텍스트든 Base64로 바꿉니다. 이모지도 비라틴 문자도 됩니다. 결과가 URL이나 JWT 안에서 오가야 한다면 URL 안전을 켜세요.
텍스트
Base64
이 도구에 대하여
Base64는 텍스트만 받아들이는 통로로 임의의 바이트를 보내기 위해 존재합니다. HTTP 헤더, data URI, 메일 본문, JSON 문자열 같은 곳입니다. 이 인코더는 입력을 먼저 UTF-8로 바꾸는데, 비라틴 문자와 이모지가 그대로 돌아오는 이유가 바로 그것입니다. 브라우저 자체의 btoa()는 그런 문자를 아예 거부합니다. URL 안전 스위치는 +와 /를 -와 _로 바꾸고 = 채움을 없앱니다. JWT와 URL 매개변수가 쓰는 변형입니다.
사용 방법
- 1인코딩할 텍스트를 왼쪽에 붙여넣거나 입력합니다.
- 2결과가 URL이나 파일 이름, JWT에 들어간다면 URL 안전을 켭니다.
- 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"))가 필요합니다.