Base64 인코더 / 디코더
텍스트나 파일을 Base64로 인코딩하고 브라우저에서 즉시 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는 텍스트 전용 컨텍스트에 이진 데이터를 포함하는 표준 방법입니다. HTML의 인라인 이미지는 데이터 URL(data:image/png;base64,...)을 사용하므로 별도의 요청 없이 작은 아이콘이 페이지와 함께 제공될 수 있습니다. 이미지, 인증서 또는 서명을 전달하는 JSON 페이로드는 이를 base64 문자열로 인코딩합니다. JWT 토큰은 점으로 구분된 세 개의 base64 인코딩 세그먼트입니다.
Base64는 또한 8비트 바이너리를 잘못 처리하는 프로토콜에 대한 문자 처리를 표준화합니다. 인증 헤더(기본 인증에서는 base64 사용), 이메일 첨부 파일, 키가 포함된 구성 파일 및 많은 API에는 바이너리가 파이프라인을 안정적으로 통과할 수 없기 때문에 base64가 필요합니다.
데이터를 붙여넣고 방향을 선택합니다.
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로 인코딩합니다. 이는 이모티콘, 악센트 문자 및 비라틴어 스크립트를 올바르게 처리합니다.