Base64 인코딩

아래에 텍스트를 붙여넣고 인코딩을 클릭하면 Base64로 변환됩니다. UTF-8 텍스트를 지원합니다. 모든 처리는 브라우저에서 로컬로 수행됩니다.

복사됨!

Base64 인코딩이란?

Base64는 바이너리 데이터를 ASCII 문자열로 표현하는 바이너리-텍스트 인코딩 방식입니다. HTML/CSS에 이미지를 삽입하거나, URL로 데이터를 전송하거나, 이메일 첨부파일을 인코딩(MIME)하거나, JSON 또는 XML에 복잡한 데이터를 저장하는 데 흔히 사용됩니다.

인코딩에는 64개의 문자가 사용됩니다: A-Z, a-z, 0-9, +, /, 그리고 패딩용 =.

이 페이지는 브라우저에 내장된 Base64 함수로 인코딩하므로, 결과는 어떤 표준 라이브러리와도 똑같습니다. 표준 문자 집합, 등호 패딩, 한 줄로 나옵니다. 업로드하지도 저장하지도 않습니다.

디코딩되지 않는 문제를 쫓고 계신가요?

디코딩되지 않는 페이로드는 대개 원인이 아니라 증상입니다. 파이프라인 어딘가의 이중 인코딩, 선언 대신 가정된 문자셋, 아무도 예상하지 않은 바이트 위에 서명된 토큰 같은 것들이죠. 저희는 바로 그런 일을 합니다. 연동과 API, 그리고 그 사이에서 데이터를 넘기는 시스템에서요.

어디가 깨지는지 알려 주세요

자주 묻는 질문

Base64 인코딩은 어디에 쓰나요?
텍스트만 안정적으로 실어 나르는 통로로 바이트를 통과시키기 위해 존재합니다. 이메일 첨부, CSS와 HTML의 data URI, 파일을 담아야 하는 JSON 필드, PEM 형식의 키와 인증서, HTTP 기본 인증 헤더가 모두 이것을 씁니다. 압축도 암호화도 아닙니다. 거의 모든 전송을 견디는 64개 문자로 임의의 바이트를 적어 내는 방법일 뿐입니다.
왜 Base64는 원본보다 3분의 1쯤 커지나요?
3바이트마다 4문자를 쓰기 때문입니다. 3바이트는 24비트이고, Base64는 이를 6비트씩 네 묶음으로 나눠 각각을 한 문자로 만듭니다. 4 대 3이라는 고정 비율, 즉 약 33퍼센트 증가이며, 이는 패딩과 줄바꿈을 더하기 전의 수치입니다.
Base64는 암호화의 일종인가요?
아닙니다. 암호화라고 여기는 것이 이것에 관한 가장 흔한 오해입니다. 키도 없고 비밀도 없습니다. Base64 문자열은 누구나 한 단계로 디코딩할 수 있고, 이 페이지도 그렇습니다. 스쳐 보는 눈과 원시 바이트를 감당 못하는 소프트웨어로부터 데이터를 가릴 뿐, 그 이상은 하지 않습니다. 내용을 보호해야 한다면 암호화하고, 전송이 텍스트를 요구하면 암호문을 Base64로 감싸세요.
표준 Base64와 URL 안전 Base64는 무엇이 다른가요?
문자 두 개입니다. 표준 Base64는 값 62와 63에 더하기 기호와 슬래시를 쓰는데, 둘 다 URL 안에서 이미 의미를 갖기 때문에 그 자리에서는 퍼센트 인코딩됩니다. URL 안전 변형은 이를 하이픈과 밑줄로 바꿉니다. 이 페이지는 표준 문자 집합을 내보내므로, URL 안전 형태가 필요하면 그 두 글자를 나중에 바꾸세요.
CSS에 이미지를 Base64로 인라인해도 될까요?
아주 작은 이미지라면 때때로 그렇습니다. 인라인은 요청을 하나 줄여 주고, 예전에는 그것이 크게 중요했습니다. 하지만 이미지가 3분의 1쯤 커지고, 그것을 담은 파일과 따로 캐시되지 못하며, 덩어리 전체가 파싱될 때까지 해당 스타일시트를 붙잡아 둡니다. 대략의 선을 긋자면 수백 바이트짜리 아이콘에는 값을 하고, 몇 킬로바이트를 넘으면 거의 값을 못 합니다. HTTP/2와 HTTP/3에서는 아낀 요청의 가치가 예전보다 훨씬 작습니다.