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에 더 적합한 문자열을 만듭니다.
