Base58 to Text コンバーター
Bitcoinのアルファベットを使ってテキストをBase58にエンコードしたり、Base58をテキストにデコードしたりできます。紛らわしい0、O、I、lは含まれません。入力はUTF-8バイトに変換され、先頭のゼロバイトは先頭の1文字として保持されます。デコード時には各文字を検証します。Bitcoin、Solana、IPFSの識別子を扱う開発者に適しています。Base58は入力サイズの2乗に比例して処理量が増えるため、入力は10 KiBまでです。
よくある質問
Base58とは何ですか?
Base58は、データを1つの大きな数として扱い、58進数で表すバイナリからテキストへのエンコード方式です。Bitcoinとともに導入され、読みやすくコピーしやすいコンパクトな文字列を生成します。数字と英字を使いますが、0、O、I、lは含まれません。
このツールはどのアルファベットを使いますか?
Bitcoinのアルファベット123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyzを使います。Solana、IPFS、多くのライブラリも同じものを使います。RippleとFlickrは異なる並び順を使うため、サポートしていません。
既知の例を試せますか?
テキストのhello worldはStV1DL6CwTryKyVに、abcはZiCaにエンコードされます。空の入力では空の結果になります。これらの文字列をデコードすると、元のテキストに戻ります。
これはBase58Checkですか?
いいえ。Bitcoinアドレスで使われるBase58Checkでは、エンコード前にバージョンバイトと4バイトの二重SHA-256チェックサムを追加します。このツールはチェックサムなしで、テキストの生バイトをエンコードします。
10 KiBの上限があるのはなぜですか?
Base58変換では大きな数を繰り返し割るため、処理量は入力の長さの2乗に比例して増えます。Base58はキーやアドレスなどの短い値を想定した方式で、10,240バイトはそれらに必要な量を大幅に上回ります。
先頭のゼロバイトはどのように処理されますか?
先頭のゼロバイトはそれぞれ先頭の1文字になり、先頭の1はそれぞれゼロバイトにデコードされます。テキストがゼロバイトで始まることはほとんどありませんが、これによりエンコードの正確性が保たれます。
UTF-8に関するメッセージが表示され、デコードに失敗するのはなぜですか?
公開鍵やアドレスなど、多くのBase58文字列にはテキストではなくランダムなバイト列が含まれています。このツールは有効なUTF-8テキストだけを表示するため、判読できない文字を出力せず、そのような入力を報告します。
入力が無効として拒否されるのはなぜですか?
0、O、I、l、途中の空白、句読点など、アルファベットに含まれない文字は有効なBase58ではありません。デコードの前に、先頭と末尾の空白は削除されます。
Base58は暗号化方式ですか?
いいえ。Base58はキーを使わず、元に戻せるエンコード方式なので、誰でもデコードできます。秘密を守るためではなく、読みやすくするために使います。
Base58はBase64より大きくなりますか?
わずかに大きくなります。Base58では1バイトあたり約1.37文字、Base64では約1.33文字が必要です。少し増える代わりに、似た形の文字や句読点を含まないアルファベットを使えます。