Base62
Base62 は 62 文字(0-9、a-z、A-Z)で数を表現する。大文字小文字を区別し、Base36 より高密度で、ショートリンクや ID 生成に広く使われる。
目的
英数字のみという制約(特殊文字なし)の下で基数を最大化し、URL に安全で簡潔な短いコードを生成する。
メカニズム
非負整数を 62 で繰り返し割り、余り 0-9 は 0-9 に、10-35 は a-z に、36-61 は A-Z に対応させる。復号は桁の重みによる展開で行う。対象は整数のみである。
ユースケース
- 短縮 URL サービス(bit.ly 方式)
- 分散 ID の生成(hashids など)
- 招待コードやクーポンコード
- URL 向けのデータベース主キー
例
- 入力
1234567890Output1ly7vkDecimal to Base62
よくあるエラー
- Case sensitivity causing user input errors
- Prefer Base36 for human input scenarios, or add a checksum