#bech32 #base32 #codec

no-std bech32-no_std

编码和解码Bech32格式

1个不稳定版本

0.7.3 2020年10月12日

编码 中排名第 1735

MIT 许可协议

31KB
632

Bech32 Rust

Docs.rs badge Build Status

Bech32编码格式是BIP-0173中描述的,Rust实现。您可以在文档中找到一些使用示例。

特定的比特币地址编码由bitcoin-bech32包处理。


lib.rs:

Bech32格式的编码和解码

Bech32是一种易于人类使用且在二维码中编码效率高的编码方案。

Bech32字符串由一个可读部分(HRP)、一个分隔符(字符 '1')和一个数据部分组成。字符串末尾的校验和提供错误检测,以防止在书写或大声读出字符串时出错。

BIP-0173 中的原始描述有更多细节。

示例

use bech32::{self, FromBase32, ToBase32};

let encoded = bech32::encode("bech32", vec![0x00, 0x01, 0x02].to_base32()).unwrap();
assert_eq!(encoded, "bech321qqqsyrhqy2a".to_string());

let (hrp, data) = bech32::decode(&encoded).unwrap();
assert_eq!(hrp, "bech32");
assert_eq!(Vec::<u8>::from_base32(&data).unwrap(), vec![0x00, 0x01, 0x02]);

无运行时依赖

功能