Base58 エンコーダー

テキストや 16 進バイトを Bitcoin のアルファベットで Base58 にエンコードします。先頭のゼロバイトは 1 になり、紛らわしい 0/O/I/l は使いません。無料・ブラウザー内。

12 文字 · 12 バイト(UTF-8)

0 文字 · 0 バイト(UTF-8)

すべてブラウザ内で実行されます。データがアップロードされることはありません。

Base58 エンコードとは?

Bitcoin のアルファベット(123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz)で、データを Base58 にエンコードします。Base58 は 0、O、I、l を除いているため、値を紛らわしさなく読んだり入力したりでき、Bitcoin のアドレス、IPFS の CID、Solana のキーに使われています。

Base58 エンコードの使い方

  1. 入力 にテキストを入力するか、ハッシュやキーなどの生のバイト列をエンコードするには 入力形式 を 16進バイト列 に切り替えます。
  2. Base58 の文字列が 出力 に表示されます。
  3. コピー または 入力に使う で、もう一度デコードできます。

例

入力
Hello World!
出力
2NEpo7TZRRrLZSi2U

Base58 エンコードを使うべき場面

人が手でコピーするかもしれない短い識別子に Base58 を使います。大きなデータには向きません。変換は計算量が 2 乗で、ストリーミングの形式もありません。Bitcoin のアドレスには Base58Check も必要ですが、このツールは追加しません。

Base58 エンコードの仕組み

バイト列は 1 つの大きなビッグエンディアンの数として扱われ、58 で繰り返し割られます。余りを逆順に読んで、アルファベットの文字を選びます。数には先頭のゼロがないため、先頭の 0x00 バイトはすべて先頭の 1 として書かれます。これは素の Base58 で、チェックサムは追加されません(Base58Check は 4 バイトの二重 SHA-256 チェックサムを追加しますが、このツールは計算しません)。

一般的な使用例

  • 公開鍵のハッシュやハッシュダイジェストを表示用にエンコードする
  • 人に優しいコンパクトな ID を作る
  • 別のライブラリの Base58 出力を確認する
  • アドレスが「1」で始まる理由を理解する

よくある質問

ゼロのバイトが「1」になるのはなぜですか?

「1」は Base58 でのゼロの桁です。先頭のゼロバイトはそれぞれ 1 つの「1」として残されるので、正確なバイト長を復元できます。

これで Bitcoin のアドレスが作れますか?

いいえ。アドレスにはバージョンバイト、ハッシュ、Base58Check のチェックサムが必要です。このツールは Base58 の手順だけを行います。

どのアルファベットが使われますか?

Bitcoin のアルファベットです。Ripple や Flickr は並び順が異なり、対応していません。

他のカテゴリを見る