Bech32エンコーダー/デコーダー
Bech32文字列(ビットコインSegwitアドレス形式)をエンコード・デコードします。チェックサムを検証し、人間が読める部分とデータセクションを分離します。暗号通貨アドレスおよび他のアプリケーションで使用されます。
入力
The prefix before the "1" separator (e.g. "bc" for Bitcoin mainnet, "tb" for testnet).
出力
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/bech32-encoder-decoder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "220e2145fa4a1f9e913265ef30f7d6f02c4ae914",
"mode": "encode",
"hrp": "bc"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `bech32-encoder-decoder` tool (Bech32 Encoder/Decoder) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/bech32-encoder-decoder/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Bech32エンコーダー/デコーダー — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
Bech32は、BIP-173で定義されたバイナリ・ツー・テキストエンコーディング形式で、人間が読める接頭辞を32文字のアルファベットでエンコードされたデータと組み合わせたもので、強力で目的特定のチェックサムで保護されています。Base58やBase64と異なり、Bech32は単に短い文字列を生成するのではなく、転記エラーを検出可能にし、ほとんどの場合、どの文字が誤入力されたかを正確に識別するために設計されました。
用途
- BitcoinSegWitアドレス — ネイティブSegWit(P2WPKH/P2WSH)アドレスは、
bc1...(メインネット)またはtb1...(テストネット)形式を使用します。これはまさにBech32文字列です:人間が読める部分(HRP)、1セパレータ、およびチェックサムを含むエンコードされたウィットネスデータです。(Taproot アドレスはBech32m(BIP-350で定義)と呼ばれる緊密に関連したバリアントを使用し、このツールではカバーされていません。) - Lightning Networkインボイス — Lightning支払いリクエスト(
lnbc...)はBech32エンコーディングを使用して、金額、ルーティングヒント、その他のインボイスフィールドを、組み込みエラー検出を備えた単一のコピー可能な文字列に結合します。 - タイプミスに強い識別子が必要なあらゆるプロトコル — Bech32のチェックサム設計(BCHコード)は、最大89文字の文字列内で最大4文字に影響する任意のエラーを検出でき、一般的な転記ミスに対して耐性があります。
このツールの使い方
- モードセレクターでEncodeまたはDecodeを選択します。
- Encode:埋め込むデータを16進文字列として入力し(例:
220e2145fa4a1f9e913265ef30f7d6f02c4ae914)、**人間が読める部分(HRP)**を設定します — Bitcoinメインネットの場合はbc、テストネットの場合はtb、またはプロトコルが使用するカスタム接頭辞。ツールはバイトをBech32の5ビットグループに変換し、チェックサムを追加し、エンコードされた文字列を生成します。 - Decode:Bech32文字列を貼り付けます。ツールはそれをHRPとデータに分割し、チェックサムを検証し、有効な場合はHRP、未加工の5ビットデータ値、およびバイト境界に合わせたデータを16進バイトとして再構成したものを表示します。
- 結果は入力時に自動的に表示されます — ボタンクリックは不要です。コピーまたはダウンロードアイコンを使用して取得してください。
FAQ
デコードが「checksum verification failed」エラーで失敗したのはなぜですか? それはBech32が仕事をしているのです。有効なBech32文字列はすべて、文字列全体(HRPを含む)で計算された6文字のチェックサムで終わります。1文字でも誤入力、不正確なコピー、または破損した場合、チェックサムが一致せず、ツールはそれを無効として報告します — 不正な入力を黙って受け入れたり「修復」したりすることはありません。
デコードが大文字と小文字が混在した文字列を拒否するのはなぜですか? BIP-173では、Bech32文字列がすべて小文字またはすべて大文字である必要があります(混在することはできません)。チェックサムは1つのケースに正規化した後で計算されるためです。混合ケース文字列は明確に検証できないため、推測されるのではなく完全に拒否されます。
Bech32とBech32mの違いは何ですか? 両者は同じアルファベットと一般的な構造を使用していますが、Bech32m(BIP-350)はチェックサム計算式で異なる定数を使用しています。Bech32はSegWitウィットネスバージョン0アドレスに使用されます。Bech32mはウィットネスバージョン1以上(Taprootを含む)に使用されます。このツールは元のBech32(BIP-173)チェックサムのみを実装しています。
HRPは大文字と小文字を区別しますか?
HRPは慣例的に小文字です(bc1...アドレスのように)。このツールはエンコード前に入力を小文字に正規化します。デコードは、仕様に従って、すべて小文字またはすべて大文字の文字列を受け入れます。
デコード出力で「not byte-aligned」が表示されるのはなぜですか? Bech32はデータを5ビットグループに格納し、これらは常に8ビットバイトに均等に分割されるとは限りません。デコードされたデータがバイト全体に完全に再構成できない場合、ツールは16進文字列の代わりに未加工の5ビット値を表示します — これは、バイト境界にデータをパックしないいくつかの非アドレスユースケース(Lightning invoicesなど)では予想されます。
プライバシー
すべてのエンコーディングとデコーディングはブラウザ内で完全に行われます — あなたのデータ、アドレス、およびその他の入力は決してデバイスを離れず、サーバーに送信されることはありません。