> 인코딩 | 디코딩 | 압축 <
// URL 안전하고 컴팩트한 데이터 표현을 위한 Base62 인코딩
로컬 처리
100% 클라이언트측 Base62 인코딩. 데이터가 브라우저를 떠나지 않습니다.
URL 안전
+, /, = 같은 특수 문자가 없습니다. URL과 파일명에 완벽합니다.
양방향
인코딩과 디코딩 기능 모두. 가역적 데이터 변환.
// BASE62 인코딩 정보
Base62 작동 방식:
Base62는 62개 문자(0-9, A-Z, a-z)를 사용하여 데이터를 표현합니다. 바이너리 데이터를 특수 문자 없이 컴팩트하고 URL 안전한 문자열로 변환합니다.
예시:
"안녕하세요" → 5TP3P3v
Base62를 사용하는 이유:
- >인코딩 없이 URL 안전
- >특수 문자 없음 (+, /, =)
- >16진수보다 짧음
- >데이터베이스 키에 완벽
- >사람이 읽기 쉬운 형식
>> 자주 묻는 질문
Q: Base62 인코딩이란 무엇인가요?
A: Base62 인코딩은 62개 문자(0-9, A-Z, a-z)를 사용하여 데이터를 표현합니다. Base64와 유사하지만 특수 문자(+, /, =)가 없어 URL 안전하고 파일명 친화적입니다.
Q: Base62는 Base64와 어떻게 다른가요?
A: Base62는 62개 문자를 사용하고 Base64는 64개를 사용합니다. Base62는 특수 문자를 피하여 인코딩 없이도 URL 안전합니다. Base64는 더 컴팩트하지만 URL 인코딩이 필요합니다.
Q: 언제 Base62를 사용해야 하나요?
A: URL 슬러그, 파일명, 데이터베이스 키, 또는 특수 문자 없이 컴팩트하고 URL 안전한 인코딩이 필요한 상황에서 Base62를 사용하세요.
Q: Base62 인코딩은 가역적인가요?
A: 네, Base62 인코딩은 완전히 가역적입니다. 인코딩된 데이터는 손실 없이 원래 형태로 디코딩할 수 있습니다.
Q: Base62 인코딩의 효율성은 어떤가요?
A: Base62는 Base64보다 약 20% 크지만 URL 인코딩의 필요를 없애줍니다. 웹 애플리케이션에서는 전체적으로 더 효율적인 경우가 많습니다.
// RELATED ARTICLES
// 빠른 참조
| DEC | HEX | Base36 | Base62 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 61 | 3d | 1p | z |
| 62 | 3e | 1q | 10 |
| 1000 | 3e8 | rs | G8 |
| 123456789 | 75bcd15 | 21i3v9 | 8M0kX |
| 4294967295 | ffffffff | 1z141z3 | 4gfFC3 |
// 코드 예제
Alphabet 0-9 A-Z a-z (0-9A-Za-z, no official RFC)
Capacity 62^6 = 56,800,235,584 62^7 = 3,521,614,606,208
Python A="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
while n: s = A[n % 62] + s; n //= 62
JS npm i base62 base62.encode(123456)
>> 더 많은 질문
Q: Base62에 표준이 있나요?
A: 아니요, Base62에는 RFC가 없습니다. 라이브러리마다 문자 순서가 다르며, 가장 흔한 것은 0-9A-Za-z(이 도구와 동일)이고 0-9a-zA-Z나 A-Za-z0-9도 있습니다. 값은 같은 알파벳으로만 디코딩할 수 있습니다.
Q: Base62는 대소문자를 구분하나요?
A: 네. A와 a는 서로 다른 기호이며 값도 다르기 때문에 Base36보다 기호 수가 두 배입니다. DNS 레이블처럼 대소문자를 구분하지 않는 값이 필요하면 Base36을 쓰세요.
Q: 6자 또는 7자로 몇 개의 단축 URL을 만들 수 있나요?
A: 6자는 62⁶ = 56,800,235,584가지(약 568억), 7자는 62⁷ = 3,521,614,606,208가지(약 3.5조)입니다. 그래서 링크 단축 서비스는 보통 6~8자면 충분합니다.