Base32・Base58・Base64・Base85・Base91 間でデータを変換する
同じバイナリデータを、システムごとに異なる Base 系エンコード(Bitcoin、DNS、PDF、コンパクトなシリアライズ)の間で変換します。
- 1
コミュニティごとに使う基数エンコーディングは異なります。DNS/TOTP には Base32、Bitcoin アドレスには Base58、MIME/JSON には Base64、IPv6/PDF には Base85、コンパクトなバイナリには Base91 です。いずれも同じバイト列を表しており、変換は「バイトにデコードして再エンコードする」手順で行います。
- 2 基数変換ツール →
値を入力し、変換元の基数と変換先の基数を選択します。ツールが生バイトへのデコードと再エンコードを一度に行います。
- 3 Base58 エンコーダー →
Bitcoin 形式のアドレスには、紛らわしい文字(0、O、I、l)を除いた Base58 を使います。これにより書き写しミスを防げます。
- 4 Base32 エンコーダー →
DNS ラベルや TOTP シークレットには、大文字小文字を区別せず A-Z と 2-7 のみを使う Base32 を使います。
- 5
必ずラウンドトリップを検証してください。変換結果をデコードして元のバイト列と一致することを確認します。Base58 と Base91 にはパディングがないため、長さの不一致が最も多い無音エラーです。
よくある質問
- 最もコンパクトな基数エンコーディングはどれですか?
- 基数が大きいほどコンパクトです。Base91 は約 1.23 文字/バイト、Base85 は約 1.25、Base64 は約 1.33、Base58 は約 1.37、Base32 は約 1.6 です。サイズだけでなく、対象システムのアルファベット対応状況に基づいて選んでください。
- なぜ Base58 は有効な Base64 出力を拒否するのですか?
- Base58 のアルファベットは制限されています(0、O、I、l、+、/ を含まない)。Base64 文字列にこれらの文字が含まれている場合、テキストを直接解釈し直すことはできず、一度バイトにデコードしてから Base58 エンコードする必要があります。
このタスクを解決するワークフロー
Base16 から Base32 へ変換
Hex をデコードし、DNS セーフな表現のために Base32 として再エンコードする。 パイプライン
Base36 から Base58 へ変換
Base36 をデコードし、コンパクトな表現のために Base58 として再エンコードする。 パイプライン
Binary から Base32 へ変換
Binary をデコードし、コンパクトなテキストのために Base32 として再エンコードする。 パイプライン
Hex から Base32 へ変換
Hex をデコードし、DNS セーフな使用のために Base32 として再エンコードする。 パイプライン
MD5 ハッシュ後に Base58 エンコード
MD5 ハッシュを計算し、コンパクトな表現のために Base58 としてエンコードする。 パイプライン
UUID 生成と Base58 エンコード
ランダム UUID を生成し、より短く URL に適した識別子のために Base58 としてエンコードする。 パイプライン
関連ツール
基数変換ツール
Convert numbers between any base (2-36)。無料、プライベート、100%クライアントサイド。 ツール
Base32 エンコーダー
Encode text to Base32 (RFC 4648) online。無料、プライベート、100%クライアントサイド。 ツール
Base58 エンコーダー
Encode text to Base58 (Bitcoin alphabet) online。無料、プライベート、100%クライアントサイド。 ツール
Base64 エンコーダー
Encode text or binary data to Base64 online。無料、プライベート、100%クライアントサイド。 ツール
Base85 エンコーダー
Encode text to Ascii85 (Base85) online。無料、プライベート、100%クライアントサイド。 ツール
Base91 エンコーダー
Encode text to Base91。無料、プライベート、100%クライアントサイド。 ツール