Кодировщик/Декодировщик Bech32
Кодируйте и декодируйте строки Bech32 (формат адреса Bitcoin 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"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `bech32-encoder-decoder` tool (Bech32 Encoder/Decoder) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<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) может обнаружить любую ошибку, затрагивающую до 4 символов в строках длиной до 89 символов, и устойчива к распространённым ошибкам переписывания.
Как использовать этот инструмент
- Выберите Encode или Decode с помощью переключателя режима.
- Encode: введите данные для встраивания в виде шестнадцатеричной строки (например
220e2145fa4a1f9e913265ef30f7d6f02c4ae914) и установите Удобочитаемую для человека часть (HRP) —bcдля основной сети Bitcoin,tbдля тестовой сети или любой пользовательский префикс, используемый вашим протоколом. Инструмент преобразует байты в 5-битовые группы Bech32, добавляет контрольную сумму и выдаёт закодированную строку. - Decode: вставьте строку Bech32. Инструмент разбивает её на HRP и данные, проверяет контрольную сумму и — если действительна — отображает HRP, необработанные 5-битовые значения данных и данные, переосуществленные в виде шестнадцатеричных байтов (когда длина бита выравнена по байтам).
- Результат появляется автоматически по мере ввода — нажатие кнопки не требуется. Используйте значок копирования или загрузки, чтобы получить его.
FAQ
Почему декодирование завершилось с ошибкой "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), которые не упаковывают данные, выровненные по байтам.
Конфиденциальность
Все кодирование и декодирование происходит полностью в вашем браузере — ваши данные, адреса и любой другой ввод никогда не покидают ваше устройство и не отправляются на сервер.