跳到主要内容

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_HERE

将此粘贴给任何已连接 IOTools 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 调用费用5 积分起
需要更多积分?查看定价

也可通过

使用指南

Bech32是BIP-173中定义的二进制到文本编码格式,将人类可读的前缀与以32个字符字母表编码的数据配对,由强大的、目的特定的校验和保护。与Base58或Base64不同,Bech32的设计目的是使转录错误可检测 — 并且在大多数情况下,准确告诉您哪些字符被误入 — 而不仅仅是生成一个紧凑的字符串。

用途

  • Bitcoin SegWit地址 — 本地SegWit(P2WPKH/P2WSH)地址使用bc1...(主网)或tb1...(测试网)格式,这正是Bech32字符串:一个人类可读部分(HRP)、一个1分隔符,以及编码的见证数据及其校验和。(Taproot地址使用一个名为Bech32m的紧密相关的变体,在BIP-350中定义,本工具不支持。)
  • Lightning Network发票 — Lightning支付请求(lnbc...)使用Bech32编码来组合金额、路由提示和其他发票字段到一个可复制的字符串中,具有内置的错误检测。
  • 任何需要防错误标识符的协议 — Bech32的校验和设计(BCH码)可以检测到影响长度至多89个字符的字符串中的至多4个字符的任何错误,并且对常见的转录错误具有抗性。

如何使用此工具

  1. 使用模式选择器选择EncodeDecode
  2. Encode:输入要嵌入的数据作为十六进制字符串(例如220e2145fa4a1f9e913265ef30f7d6f02c4ae914)并设置人类可读部分(HRP) — Bitcoin主网为bc,测试网为tb,或您的协议使用的任何自定义前缀。该工具将字节转换为Bech32的5位组,附加校验和,并生成编码的字符串。
  3. Decode:粘贴一个Bech32字符串。该工具将其分为HRP和数据,验证校验和,如果有效,显示HRP、原始5位数据值,以及数据重新组装为十六进制字节(当位长度与字节对齐时)。
  4. 结果在您输入时自动显示 — 无需点击按钮。使用复制或下载图标获取它。

常见问题

为什么解码失败,出现"checksum verification failed"错误? 这是Bech32在发挥作用。每个有效的Bech32字符串都以6个字符的校验和结尾,该校验和是在整个字符串(包括HRP)上计算的。即使单个字符被误入、复制错误或损坏,校验和也不会匹配,该工具会将其报告为无效 — 它永远不会默默接受或"修复"错误的输入。

为什么解码拒绝大小写字母混合的字符串? BIP-173要求Bech32字符串完全为小写或完全为大写(从不混合),因为校验和是在规范化为一种情况后计算的。混合大小写的字符串无法明确验证,因此被完全拒绝而不是猜测。

Bech32和Bech32m之间有什么区别? 两者都使用相同的字母表和一般结构,但Bech32m(BIP-350)在校验和公式中使用了不同的常数。Bech32用于SegWit见证版本0地址;Bech32m用于见证版本1及以上(包括Taproot)。此工具仅实现原始Bech32(BIP-173)校验和。

HRP对大小写敏感吗? HRP按照惯例为小写(如bc1...地址),此工具会在编码前将您输入的内容规范化为小写。解码接受完全小写或完全大写的字符串,符合规范。

为什么我在解码输出中得到"not byte-aligned"? Bech32将数据存储在5位组中,这些组不总是能均匀地分成8位字节。如果解码的数据无法清晰地重新组装成整数字节,该工具显示原始5位值而不是十六进制字符串 — 这对于某些非地址用例(如Lightning发票)是预期的,这些用例不以字节对齐的方式打包数据。

隐私

所有编码和解码完全在您的浏览器中进行 — 您的数据、地址和任何其他输入永远不会离开您的设备或被发送到服务器。

bech32bip-173encodedecodebitcoinsegwitchecksumdeveloper

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。