3个版本 (破坏性更新)
0.3.0 | 2022年11月1日 |
---|---|
0.2.0 | 2021年10月10日 |
0.1.0 | 2021年4月16日 |
#1694 在 编码
5,952 每月下载次数
在 8 个crate中(7个直接使用)
25KB
395 行
十六进制/Base64解码常量函数
将十六进制和base64编码的字符串转换为字节的常量函数。在稳定版Rust和no-std环境中运行。支持自定义字母表的基础-(2,4,8,16,32,64)编码。
使用方法
将以下内容添加到您的 Crate.toml
[dependencies]
const-decoder = "0.3.0"
使用示例
use const_decoder::Decoder;
// An Ed25519 secret key.
const SECRET_KEY: [u8; 64] = Decoder::Hex.decode(
b"9e55d1e1aa1f455b8baad9fdf975503655f8b359d542fa7e4ce84106d625b352\
06fac1f22240cffd637ead6647188429fafda9c9cb7eae43386ac17f61115075",
);
Bech32 编码
use const_decoder::{Decoder, Encoding};
const BECH32: Decoder = Decoder::custom("qpzry9x8gf2tvdw0s3jn54khce6mua7l");
// Sample address from the Bech32 spec excluding the `tb1q` prefix
// and the checksum suffix.
const SAMPLE_ADDR: [u8; 32] =
BECH32.decode(b"rp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q");
更多示例请参阅crate文档。
替代方案
hex-literal
和 binary_macros
crate公开了类似的功能,作为过程宏。因此,在no-std环境中无法使用宏,而这种方法可以。
许可协议
根据您的选择,在Apache License, Version 2.0 或 MIT license下许可。
除非您明确表示,否则您提交给 const-decoder
的任何贡献,根据Apache-2.0许可协议定义,应如上所述双许可,无需任何附加条款或条件。