Base58 エンコーダーとデコーダー

Bitcoin アルファベットを使い、テキストや HEX バイトから Base58 をエンコード・デコードできます。すべてブラウザ内で動作し、入力は端末上に留まります。

Base58 エンコーダー/デコーダーは完全にブラウザ内で動作します。エンコードまたはデコードするテキストと HEX バイトは端末から外に出ることはなく、ArrayKit に何もアップロードされません。

Base64 エンコーダー/デコーダーを開く

Base58 エンコーダー/デコーダー について

Base58 エンコーダー/デコーダーは、Bitcoin アルファベット — 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz — を使ってデータを Base58 に相互変換します。このアルファベットは見分けにくい 0・O・I・l を除いているので、エンコードした文字列は読みやすく、打ち直しも容易です。UTF-8 テキストや生の HEX バイトを渡すとコンパクトな Base58 文字列を生成し、Decode に切り替えれば Base58 文字列をテキストや HEX に戻せます。先頭のゼロバイトは先頭の '1' 文字として保持され、これはまさに Bitcoin アドレスや WIF キーが作られる方法です。ライブラリを持ち込まずに、キー・ハッシュ・短い識別子・IPFS 風の値を調べるときに便利です。すべて端末上で動作し、貼り付けたバイトがブラウザから外に出ることはありません。

機能

Base58 エンコーダー/デコーダー の使い方

  1. Encode タブを選択したまま、入力に Text か Hex を選ぶ
  2. テキストを入力するか HEX バイトを貼り付けて Base58 文字列を得る
  3. 右ペインから Base58 出力をコピーする
  4. Decode に切り替え、Text か Hex の出力を選び、Base58 文字列を貼り付ける

入力

hello

出力

Cn8eVZg

"hello" の UTF-8 バイトの Base58 は Cn8eVZg です。

よくあるエラーとトラブルシューティング

よくある質問

この Base58 ツールはどのアルファベットを使いますか?
Bitcoin アルファベットを使います:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz。見た目の似た文字を避けるため 0・O・I・l を除いています。Bitcoin アドレスや WIF キーが使うのと同じアルファベットです。
Base58 で先頭のゼロバイトはどう扱われますか?
入力の各先頭ゼロバイトは先頭の '1' 文字としてエンコードされ、各先頭の '1' はゼロバイトに戻ってデコードされます。だからこそ 0x00 バージョンバイトで始まる Bitcoin アドレスは 1 で始まります。
テキストではなく生の HEX バイトをエンコードできますか?
はい。入力トグルを Hex に設定し、00287fb4cd のようなバイトを 0x プレフィックスの有無にかかわらず貼り付けてください。Decode 側では Hex 出力を選べば、テキストではなく生のバイトを取り戻せます。
Base58 は Base64 とどう違いますか?
Base58 は 58 個の記号を使い、+・/・= と曖昧な 0・O・I・l を除くので、短く、手で読んだり打ち直したりするのが安全です。Base64 は 64 個の記号を使い、より高密度ですが、URL でエスケープが必要になったり読み違えられたりする文字を含みます。
このツールはチェックサム付きの Base58Check を計算しますか?
いいえ。渡した正確なバイトのプレーンな Base58 エンコード・デコードを行います。Bitcoin アドレスが使う 4 バイトの Base58Check チェックサムの追加や検証は行わないので、それが必要な場合はハッシュツールと組み合わせてください。
貼り付けたバイトはサーバーに送られますか?
いいえ。Base58 エンコーダー/デコーダーは完全にブラウザ内で動作します。入力したり貼り付けたりしたテキストと HEX は端末上に留まり、ArrayKit にアップロードされることはありません。

関連ツール

すべての ArrayKit ツール