> エンコード | デコード | 圧縮 <
// 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エンコーディング不要のURL安全性を実現。Base64の方がコンパクトですが、URLエンコーディングが必要です。
Q:Base62をいつ使うべきですか?
A:URLスラッグ、ファイル名、データベースキー、または特殊文字なしのコンパクトでURL安全なエンコーディングが必要な状況で使用してください。
Q:Base62エンコーディングは可逆的ですか?
A:はい、Base62エンコーディングは完全に可逆的です。エンコードされたデータは何の損失もなく元の形に戻すことができます。
Q:Base62エンコーディングの効率性は?
A:Base62はBase64より約20%大きくなりますが、URLエンコーディングの必要性を排除します。多くの場合、Webアプリケーションでは全体的により効率的です。
// 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の2倍の記号数になります。DNSラベルなど大文字小文字を区別しない値が必要ならBase36を使います。
Q: 6文字・7文字で何件の短縮URLを作れますか?
A: 6文字で62⁶ = 56,800,235,584通り(約568億)、7文字で62⁷ = 3,521,614,606,208通り(約3.5兆)です。そのため短縮URLサービスでは通常6〜8文字で足ります。