WMW

Base64 인코딩/디코딩

Free

입력하는 즉시 실시간으로 텍스트를 base64로 인코딩하거나 base64를 텍스트로 디코딩하며, 완전한 유니코드 지원과 선택적 URL 안전 변형을 제공합니다.

모두 브라우저 내에서 실행됩니다. 텍스트는 절대 기기 밖으로 전송되지 않습니다.

최근 활동

모든 사람에게 공개됩니다. 모든 방문자의 최근 20회 사용 내역, 최신순으로 표시됩니다.

아직 활동이 없습니다. 첫 번째가 되어보세요.

댓글 (0)

이 도구가 유용했나요? 댓글을 남기거나 팁을 공유하거나 개선할 점을 알려주세요.

게스트 댓글은 게시 전에 검토됩니다. 로그인 하면 즉시 게시됩니다.

아직 댓글이 없습니다. 첫 번째로 의견을 남겨보세요!

이 도구의 기능

이 도구는 입력하는 동안 실시간으로 텍스트를 base64로 인코딩하거나 base64를 다시 텍스트로 디코딩하며, 완전한 유니코드 지원과 선택적인 URL 안전 변형을 제공합니다.

작동 방식

텍스트는 먼저 원시 UTF-8 바이트로 변환됩니다. 인코딩은 이 바이트를 3개씩 그룹화하여, 각 3바이트(24비트) 그룹을 표준 64문자 알파벳(A-Z, a-z, 0-9, +, /)의 4개 base64 문자(각 6비트)에 매핑하고, 바이트 수가 3의 배수가 아니면 마지막 그룹을 = 문자로 채웁니다. 디코딩은 이를 정확히 역으로 수행합니다: 4개의 base64 문자가 각각 6비트로 다시 매핑되어 3바이트로 재결합되고, 결과 바이트 시퀀스는 UTF-8 텍스트로 해석됩니다. URL 안전 옵션은 단순히 +를 -로, /를 _로 대체하고(패딩도 생략) 하는데, 이 둘은 표준 base64가 사용하는 문자 중 URL에 직접 넣기에 안전하지 않은 유일한 두 문자입니다.

해결하는 문제

자주 묻는 질문

base64는 암호화인가요?

아니요. Base64는 암호화가 아니라 가역적인 인코딩입니다. 공개된 표준 알파벳을 사용해 임의의 바이트를 텍스트로 안전한 형식으로 바꾸며, 누구나 키나 비밀번호 없이 즉시 다시 디코딩할 수 있습니다. 이는 이메일이나 JSON처럼 텍스트만 다루는 채널을 통해 바이너리 데이터를 안전하게 전송하기 위한 것이지, 무언가를 비밀로 유지하기 위한 것이 아닙니다.

왜 인코딩된 텍스트가 = 또는 ==로 끝날 때가 있나요?

Base64는 항상 입력을 3바이트씩 묶어 그룹당 4개의 출력 문자를 생성합니다. 입력 길이가 3의 배수가 아니면 마지막 그룹은 4문자 그룹화를 일관되게 유지하기 위해 하나 또는 두 개의 = 문자로 채워지며, 이는 오류가 아니라 형식의 표준적인 부분입니다.

"URL 안전" base64는 무엇을 바꾸나요?

표준 base64는 + 와 / 문자를 사용하는데, 둘 다 URL 안에서 특별한 의미를 가지므로 그대로 사용하려면 퍼센트 인코딩이 필요합니다. URL 안전 변형은 이를 대신 - 와 _ 로 바꾸고(= 패딩도 생략) 결과를 추가 이스케이프 없이 URL 경로나 쿼리 문자열에 바로 넣을 수 있게 합니다.

왜 디코딩이 오류로 실패했나요?

붙여넣은 텍스트가 애초에 유효한 base64가 아니었거나, 유효한 UTF-8 텍스트가 아닌 바이트 시퀀스로 디코딩되었을 수 있습니다(예: 실제로 텍스트가 아니라 이미지나 다른 바이너리 파일을 인코딩한 경우). 이 도구는 텍스트용이므로 유효한 UTF-8을 형성하지 않는 바이너리 출력은 손상된 것처럼 보이는 텍스트를 표시하는 대신 오류로 보고됩니다.

이모지와 영어가 아닌 텍스트도 올바르게 처리되나요?

네. 텍스트는 인코딩 전에 기본 UTF-8 바이트로 변환되고 디코딩 시에도 같은 방식으로 역변환되므로, 강세 문자, 터키어 문자, 이모지 및 기타 비 ASCII 텍스트가 순수 ASCII만 처리하던 오래된 base64 구현에서 흔했던 깨짐 현상 없이 올바르게 왕복 변환됩니다.

관련 도구