4 个版本
0.2.0 | 2022 年 12 月 5 日 |
---|---|
0.1.2 | 2021 年 8 月 15 日 |
0.1.1 | 2021 年 8 月 12 日 |
0.1.0 | 2021 年 8 月 10 日 |
#2058 in 编码
122 每月下载量
98KB
2K SLoC
用于在编译时解码/编码 base 64/32/16 字符串。
示例
编码
use const_base::{encode_as_str, Config};
{
// the encoding macros can take both `&str` and `&[u8]` constants.
const OUTA: &str = encode_as_str!("foo", Config::B64);
const OUTB: &str = encode_as_str!(b"foo", Config::B64);
assert_eq!(OUTA, "Zm9v");
assert_eq!(OUTB, "Zm9v");
}
{
const BYTES: &[u8] = b"hello";
// the encoding macros can encode_as_str non-literal constants
const OUT: &str = encode_as_str!(BYTES, Config::B64_URL_SAFE);
assert_eq!(OUT, "aGVsbG8=");
}
解码
use const_base::{decode, Config};
{
const OUT: &[u8] = decode!("MZXW6===", Config::B32);
assert_eq!(OUT, b"foo");
}
{
const BYTES: &[u8] = b"f000";
// this macro can decode non-literal constants
const OUT: &[u8] = decode!(BYTES, Config::HEX);
assert_eq!(OUT, &[0xF0, 0x00]);
}
无 std 支持
const_base
是 #![no_std]
,可以在 Rust 可以使用的任何地方使用。
最低支持的 Rust 版本
const_base
需要 Rust 1.64.0。
依赖项
~215KB