본문으로 건너뛰기

Base64 변환 도구

지식 포인트

Base64 인코딩 원리

Base64는 A-Z, a-z, 0-9, +, / 총 64개 문자를 사용해 텍스트를 표현합니다. 세 개의 8비트 바이트를 네 개의 6비트 그룹으로 나누고, 각 그룹을 Base64 인덱스 테이블에 매핑합니다.

  • a: 0110 0001
  • b: 0110 0010
  • 2: 0011 0010

Base64 인덱스 매핑

  • Y: 0110 00
  • W: 0101 10
  • I: 0010 00
  • y: 1100 10

그룹화 전: 0110 0001, 0110 0010, 0011 0010, 즉 a, b, 2입니다.

그룹화 후: 0110 00, 0101 10, 0010 00, 1100 10이며 각각 Y, W, I, y에 매핑됩니다.

따라서 ab2의 Base64 결과는 YWIy입니다.

Base64 결과가 원본의 약 4/3이 되는 이유

바이트는 8비트지만 Base64는 6비트 단위로 데이터를 나눕니다. 저장할 때 각 6비트 단위를 다시 8비트로 맞춰야 합니다.

원래 24비트가 패딩 뒤 32비트가 되므로 결과 크기는 원본의 약 4/3입니다.

Base64url과 Base64의 차이

표준 Base64의 +와 /는 URL 안에서 %2B, %2F로 인코딩되어 주소가 길어질 수 있습니다. Base64url은 A-Z, a-z, 0-9, -, _를 사용해 URL에 더 적합한 문자열을 만듭니다.

감사의 말