このBase エンコードツールは、Base32・Base58・Base62・Base64・Base85・Base91・Base122・Base32768の8アルゴリズムに対応し、テキストやバイナリファイルをブラウザ内でエンコード・デコードできます。各アルゴリズムはそれぞれ異なる制約——URL安全性・視覚的な誤読防止・出力サイズ・文字数制限のあるプラットフォーム対応——に対応するよう設計されています。
入出力の例
Base64標準:
入力: hello world
出力: aGVsbG8gd29ybGQ=
Base64URL(パディングなし、+ → -、/ → _):
入力: hello world
出力: aGVsbG8gd29ybGQ
Base32(RFC 4648、大文字A〜Z+数字2〜7):
入力: hello
出力: NBSWY3DPEB3W64TMMQ======
Base58(Bitcoinアルファベット — 0/O/l/Iを除外):
入力: hello world
出力: StV1DL6CwTryKyV
どのアルゴリズムを使うか
汎用
- Base64 — APIのバイナリペイロード、Basic Authヘッダー、JWTトークン、HTMLインライン画像
- Base64URL — URLパラメーター、ファイル名、
+/=が使えない場所 - Base32 — DNSレコード、大文字小文字を区別しないシステム(ファイルシステム、TOTPキー)
特定の用途
- Base58 — 暗号通貨のウォレットアドレスとトランザクションID(Bitcoin・Flickr・Rippleの3バリアント)
- Base62 — 短縮URLのID、一意識別子 — 英数字のみでURL安全
- Base85 — 高密度ASCIIインラインデータ。Ascii85はPDF/PostScript用、Z85はZeroMQ用
- Base91 — 純粋なASCIIエンコードの中で最もコンパクト
- Base32768 — Twitterなど文字数制限のあるプラットフォーム(1文字あたり15ビット)
エンコード後のサイズ比較
| アルゴリズム | エンコード後のサイズ | 文字セットのサイズ |
|---|---|---|
| Base32 | 160% | 32 |
| Base58 | 約137% | 58 |
| Base62 | 約135% | 62 |
| Base64 | 133% | 64 |
| Base85 | 125% | 85 |
| Base91 | 約123% | 91 |
| Base122 | 約115% | 122 |
| Base32768 | 約107% | 32768 |
パーセンテージが低いほど出力がコンパクトです。Base32768は文字セットが最も大きいにもかかわらず、1文字あたり15ビットを格納するため最もコンパクトな出力になります。
ファイルエンコード
入力モードを「ファイル」に切り替えると、任意のバイナリファイルをアップロードできます — ツールがバイトストリームを読み取ってエンコードします。すべてのアルゴリズムがファイル入力に対応しているわけではありません。Unicodeの文字範囲を使用するBase122とBase32768は現在テキスト入力のみ対応しています。
デコード時の注意点
- 入力の余分なスペースや改行はデコード失敗の原因になります。先に除去してください
- Base64標準はパディング
=で終わりますが、Base64URLは通常パディングなし。バリアントを間違えると、エラーではなく文字化けした出力が得られます。結果がおかしい場合は両方のバリアントで試してみてください - Base58の3バリアント(Bitcoin・Flickr・Ripple)はアルファベットが異なります。間違ったバリアントでデコードすると、警告なしに誤ったデータが返されます