5个版本
0.2.1 | 2019年7月8日 |
---|---|
0.2.0 | 2019年7月7日 |
0.1.2 | 2019年4月11日 |
0.1.1 | 2018年5月2日 |
0.1.0 | 2018年5月2日 |
在编码类别中排名第1199
每月下载量81,828
在139个crate(直接使用50个)中使用
28KB
300 行
base16 (十六进制) 编码用于Rust。
这是一个以性能为重点编写的base16(例如十六进制)编码和解码库。
在Rust添加SIMD之前,我没有添加它。这可能是最快的非SIMD实现。
用法
将base16 = "0.2"
添加到Cargo.toml中,然后
fn main() {
let original_msg = "Foobar";
let hex_string = base16::encode_lower(original_msg);
assert_eq!(hex_string, "466f6f626172");
let decoded = base16::decode(&hex_string).unwrap();
assert_eq!(String::from_utf8(decoded).unwrap(), original_msg);
}
更多用法示例请参阅文档。
no_std
用法
此crate支持使用以下旋钮在no_std
配置中使用。
- 默认开启的
"alloc"
功能,添加了一些需要使用alloc
crate但不需要其余std
的辅助函数。这是no_std
兼容的。- 每个函数都记录了是否需要使用
alloc
功能。
- 每个函数都记录了是否需要使用
- 默认开启的
"std"
功能启用了"alloc"
功能,并使base16::DecodeError
实现了std::error::Error
特性。(遗憾的是,此特性在std
中,而不是在core
或alloc
中...)
为了清晰起见,这意味着默认情况下,我们假设您同意使用std
。
如果您想禁用std
的使用,但处于一个有分配器的环境(例如,可以使用alloc
crate),则需要以下作为仅使用alloc
的方式
[dependencies]
# Turn of use of `std` (but leave use of `alloc`).
base16 = { version = "0.2", default-features = false, features = ["alloc"] }
如果您只想使用核心的base16
功能,而不使用任何辅助工具,则应关闭所有功能。
[dependencies]
# Turn of use of `std` and `alloc`.
base16 = { version = "0.2", default-features = false }
这两种配置都是no_std
兼容的。
许可证
公有领域,如解释此处