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 つのゼロバイトに戻ります — バイナリデータが正確に往復します。
関連ツール
Ascii85 / Base85 エンコーダー & デコーダー
UTF-8 テキストまたは hex バイトから Ascii85(Base85)をエンコード/デコード — <~ ~> 区切りと z ゼログループ短縮の Adobe/PDF 版、または素の版 — ブラウザ内で。
CBOR デコーダー (診断表記)
hex または base64 の CBOR(RFC 8949)を読みやすい診断表記に復号 — 整数、バイト・テキスト文字列、配列、マップ、タグ、浮動小数点、単純値、不定長項目 — ブラウザ内で。
Base64 ↔ 16進数 変換
Base64 文字列を16進数バイトに、16進数を Base64 に戻します。URL セーフ対応、ブラウザ上で動作します。
CRC-32 計算機 (CRC-32 & CRC-32C)
テキストまたは hex バイトの CRC-32(IEEE 802.3、zip/gzip/PNG)または CRC-32C(Castagnoli)チェックサムを、小文字 hex・大文字 hex・符号なし 10 進数で計算 — ブラウザ内で。
ビット演算 計算機
2つの整数の AND・OR・XOR・NOT・シフトを、2進数・16進数・符号なし/符号付き10進数で一覧表示。8・16・32・64ビット幅を選択可能。
Hex Dump ビューア
テキストまたは小さなファイルをオフセット + hex バイト + 印字可能 ASCII で表示。`xxd` や `hexdump -C` 形式。