Base62 エンコーダー / デコーダー
テキスト
Base62
技術的な詳細
Base62エンコーダ/デコーダの仕組み
このツールでできること
Base62は、62個の英数字(0-9、A-Z、a-z)を使ってバイナリデータをエンコードし、Base62文字列をテキストまたはhexにデコードします。出力にはパディングがなく、'+', '/', '='記号も含まれないURLセーフな文字だけで構成されるため、パーセントエンコードなしでURLやクエリパラメータに直接埋め込めます。
開発者によくある利用シーン
URL短縮サービス(bit.ly、t.co、かつてのgoo.gl)は、増加する整数IDをコンパクトで共有しやすいスラッグに変換するためにBase62を使用します。バックエンド開発者は、ソーシャル投稿、ツイート、アップロードされたアセット向けに短い不透明な識別子を生成します。マーケターは、Base64より見た目がすっきりしたBase62エンコードのUTMパラメータでキャンペーンを追跡します。
データ形式、型、またはバリエーション
このツールは最も一般的なBase62のアルファベット順序を使用します。数字0-9、次に大文字A-Z、次に小文字a-zです。実装によって順序が異なる場合(小文字を大文字より先に置くものなど)があるため、システム間でエンコードデータを共有する前に、必ずアルファベットの互換性を確認してください。出力はUTF-8テキスト入力と生のhexバイト入力の両方に対して表示されます。
よくある落とし穴とエッジケース
Base62は標準化されていません。ライブラリによってアルファベット順序が異なります(このツールはnpmの`base-x`の慣例に合わせて0-9、A-Z、a-zを使用します)。バイナリデータの先頭のゼロバイトはエンコーダによって保持されますが、'0'で始まるBase62文字列は、先頭の'0'がないものと同じ値にデコードされます。つまり正規形がありません。言語間の相互運用性のために、使用した正確なアルファベットを文書化してください。
コードではなくこのツールを使うべき場面
URLスラッグや短いIDをデバッグする際の単発のエンコード/デコードには、このブラウザツールを使ってください。コードでは、`base-x` npmパッケージ(JavaScript)、`pybase62`または手書きの変換(Python)、あるいは`Base62.io`のJava実装を優先し、将来のリファクタでエンコードが黙って変わらないよう、テストでアルファベットを必ず固定してください。