Base58 エンコーダー / デコーダー (Bitcoin, IPFS)
開発
Base58 は、視覚的に紛らわしい文字 0(数字ゼロ)、O(大文字オー)、I(大文字アイ)、l(小文字エル)と +、/ を除いたバイナリ→テキストのエンコーディングです — 結果がコンパクトで、手書きや URL への記載でも安全です。Bitcoin アドレスや WIF キー、IPFS CIDv0 ハッシュ、Solana キーで使われています。UTF-8 テキストや生の hex を貼り付けて Base58 にエンコード、または Base58 文字列を貼り付けてテキスト・hex にデコードできます。先頭のゼロバイトは Bitcoin の参照実装と同じく先頭の '1' 文字に対応し、バイナリデータがバイト単位で正確に往復します。Bitcoin/IPFS アルファベット(一般的)、Ripple の並べ替えアルファベット、Flickr の短縮 URL 用アルファベットから選べます。すべてローカルで動作し、アップロードされません。
素の Base58(Base58Check ではない)。文字列はエンコード時と同じアルファベットでのみデコードできます。
使い方
- エンコードまたはデコードを選択。
- アルファベット(Bitcoin がデフォルトで最も一般的)と、データが UTF-8 テキストか hex バイトかを選択。
- 入力欄に入力・貼り付けて結果をコピー。
よくある質問
- これは Base58Check ですか?
- いいえ。素の Base58 です — Bitcoin アドレスや WIF キーで使う 4 バイトの二重 SHA-256 チェックサムの付加や検証は行いません。生の Base58 ペイロードに使ってください。Base58Check が必要なら、チェックサムを別途付加・検証する必要があります。
- なぜ Base58 は一部の文字を除くのですか?
- 0、O、I、l は多くのフォントで混同しやすく、+ と / は URL セーフではないためアルファベットから除外しています。だから Base58 文字列は読み上げ・書き写し・URL への貼り付け(エスケープ不要)でも安全です。
- アルファベットの違いは?
- Bitcoin/IPFS は '123...ABC...abc' 順で最も一般的。Ripple は同じ 58 文字を並べ替え(同じバイトでも別の文字列)、Flickr は短縮 URL 向けに大文字小文字の順を入れ替えます。文字列はエンコード時のアルファベットでのみ正しくデコードできます。
- 先頭のゼロバイトはどう扱われますか?
- 各先頭 0x00 バイトは Bitcoin 参照実装と同じく先頭の '1'(最初のアルファベット文字)1 つになります。だから 0x00000000 入力は '1111' にエンコードされ、4 つのゼロバイトに戻ります — バイナリデータが正確に往復します。
関連ツール
Base64 ↔ 16進数 変換
Base64 文字列を16進数バイトに、16進数を Base64 に戻します。URL セーフ対応、ブラウザ上で動作します。
Quoted-Printable エンコーダー & デコーダー
テキストを MIME Quoted-Printable(RFC 2045)にエンコード、または復号 — =XX エスケープ・ソフト改行・UTF-8 に対応、エンコード時は 76 文字で折り返し — ブラウザ内で。
ハッシュ生成 (SHA)
テキストから SHA-1・SHA-256・SHA-384・SHA-512 ハッシュを生成。
URL エンコーダー / デコーダー
URL 用にテキストをパーセントエンコード、または URL をデコード。
Base64 エンコーダー / デコーダー
テキストを Base64 にエンコード、または Base64 をテキストにデコード。
JSON フォーマッター & バリデーター
ブラウザで JSON を整形・並べ替え・圧縮・検証できます。