무료 변환기

Base64 인코더 / 디코더

텍스트나 파일을 Base64로 인코딩하고 브라우저에서 즉시 Base64 문자열을 디코딩합니다. 무료이며 비공개이며 업로드가 필요하지 않습니다.

이 도구에 대하여

Base64는 64개의 인쇄 가능한 문자(A-Z, a-z, 0-9, 더하기(+) 및 슬래시(/))를 사용하여 이진 데이터를 ASCII 텍스트로 표현하는 인코딩 체계이며 등호(=)는 패딩에 사용됩니다. 이 형식은 원래 바이너리 첨부 파일이 7비트 클린 이메일 전송에서 살아남을 수 있도록 설계되었지만 오늘날에는 HTML의 데이터 URL, 이미지 데이터가 포함된 JSON, JWT 페이로드, 기본 인증 헤더 및 바이트를 전달해야 하는 모든 텍스트 기반 프로토콜 등 수십 가지 용도로 확장되었습니다.

인코딩은 3바이트의 입력을 사용하고 4개의 ASCII 문자 출력을 생성합니다. 따라서 출력은 입력보다 33% 더 깁니다. 이는 바이너리를 텍스트 안전 형식으로 맞추는 데 드는 비용입니다. 디코딩은 프로세스를 정확히 반대로 수행하여 인코딩된 텍스트에서 원래 바이트를 복구합니다.

이 도구는 양방향을 모두 처리합니다. 인코딩 모드는 텍스트 입력(또는 업로드를 통한 바이너리 파일)을 받아 base64 텍스트를 생성합니다. 디코드 모드는 base64 텍스트를 가져와 원본 텍스트 또는 다운로드 가능한 바이너리를 생성합니다. 토큰 및 식별자에는 URL 안전 변형(+ 및 / 대신 - 및 _ 사용)이 지원됩니다.

Base64를 사용하는 이유

Base64는 텍스트 전용 컨텍스트에 이진 데이터를 포함하는 표준 방법입니다. HTML의 인라인 이미지는 데이터 URL(data:image/png;base64,...)을 사용하므로 별도의 요청 없이 작은 아이콘이 페이지와 함께 제공될 수 있습니다. 이미지, 인증서 또는 서명을 전달하는 JSON 페이로드는 이를 base64 문자열로 인코딩합니다. JWT 토큰은 점으로 구분된 세 개의 base64 인코딩 세그먼트입니다.

Base64는 또한 8비트 바이너리를 잘못 처리하는 프로토콜에 대한 문자 처리를 표준화합니다. 인증 헤더(기본 인증에서는 base64 사용), 이메일 첨부 파일, 키가 포함된 구성 파일 및 많은 API에는 바이너리가 파이프라인을 안정적으로 통과할 수 없기 때문에 base64가 필요합니다.

사용 방법

데이터를 붙여넣고 방향을 선택합니다.

  1. 인코딩 또는 디코딩 선택: 인코딩은 바이너리 또는 텍스트 입력에서 base64 텍스트를 생성합니다. 디코딩은 프로세스를 반대로 수행합니다.
  2. 입력 추가: 인코딩하려면 텍스트를 붙여넣거나 바이너리 파일을 업로드하세요. 디코딩하려면 base64 텍스트를 붙여넣으세요. 이 도구는 URL 안전 변형을 자동으로 감지합니다.
  3. 변환: 브라우저는 인코딩에 btoa를 사용하고 디코딩에 atob을 사용합니다(ASCII가 아닌 텍스트에 대해 UTF-8 처리 사용). 출력은 정확하고 결정적입니다.
  4. 복사 또는 다운로드: 인코딩된 텍스트는 URL, JSON, HTML 데이터 URL 또는 모든 텍스트 기반 프로토콜에 포함될 수 있습니다. 디코딩된 바이너리는 감지된 파일 형식을 기반으로 적절한 확장자를 추측하여 파일로 다운로드합니다.

일반적인 사용 사례

기술적인 세부사항

Base64는 입력의 모든 6비트를 64개의 출력 문자 중 하나로 매핑합니다. 3개의 입력 바이트(24비트)는 4개의 출력 문자를 생성합니다. 입력 길이가 3의 배수가 아닌 경우 인코더는 1개 또는 2개의 등호를 추가하여 출력을 4개의 배수로 채웁니다.

URL 안전 base64(RFC 4648 섹션 5에 정의됨)는 +를 -로, /를 _로 대체하여 추가 이스케이프 없이 URL과 파일 이름에 사용하기에 안전한 문자열을 생성합니다. URL 안전 컨텍스트에서는 패딩 등호가 생략되는 경우가 있습니다. 디코더는 일반적으로 두 가지 형식을 모두 허용합니다.

JavaScript의 btoa 및 atob은 ASCII를 직접 처리하지만 ASCII가 아닌 문자열에서는 실패합니다. UTF-8 텍스트의 경우 변환기는 TextEncoder/TextDecoder를 사용하여 텍스트와 바이너리 간을 변환한 다음 바이너리를 base64로 인코딩합니다. 이는 이모티콘, 악센트 문자 및 비라틴어 스크립트를 올바르게 처리합니다.

모범 사례

자주 묻는 질문

Base64 인코딩은 무엇에 사용되나요?
Base64는 이진 데이터를 ASCII 텍스트로 변환합니다. 일반적인 용도로는 HTML(데이터 URI)에 이미지 삽입, 이메일 첨부 파일 인코딩, JSON API로 바이너리 데이터 전송, 텍스트 기반 데이터베이스에 바이너리 blob 저장 등이 있습니다.
Base64 인코딩은 내 데이터를 암호화합니까?
아니요. Base64는 암호화가 아닌 인코딩입니다. 누구나 Base64 문자열을 디코딩할 수 있습니다. 보안이 아닌 안전한 데이터 전송을 위해 설계되었습니다. 민감한 데이터에는 실제 암호화(AES, RSA)를 사용합니다.
Base64가 파일 크기를 늘리는 이유는 무엇입니까?
Base64는 입력의 모든 3바이트를 4개의 ASCII 문자로 나타내므로 크기가 약 33% 증가합니다. 이는 이진 데이터를 텍스트 형식에 안전하게 포함할 수 있다는 점에서 절충점입니다.
이미지를 Base64로 인코딩할 수 있나요?
예. 이미지 파일을 업로드하면 도구가 HTML 또는 CSS에서 데이터 URI(data:image/png;base64,...)로 사용할 수 있는 Base64 문자열을 생성합니다.
JWT 토큰은 base64입니까?
예. JWT는 점으로 구분된 3개의 base64url 인코딩 세그먼트로 구성됩니다. 첫 번째는 헤더, 두 번째는 페이로드, 세 번째는 서명입니다.
내 데이터가 서버에 업로드되나요?
아니요. 인코딩 및 디코딩은 btoa, atob, TextEncoder 및 TextDecoder를 사용하여 브라우저에서 발생합니다.
최대 크기는 얼마입니까?
최대 50MB. 브라우저 메모리는 매우 큰 입력에 대한 실제 크기를 제한합니다.
디코딩된 출력이 왜 쓰레기처럼 보입니까?
소스는 텍스트가 아닌 바이너리일 가능성이 높습니다. 파일 다운로드 모드로 전환하여 바이너리를 가져오거나 입력이 실제로 바이너리가 아닌 base64로 인코딩된 텍스트인지 확인하세요.