3个版本
0.1.2 | 2018年11月25日 |
---|---|
0.1.1 | 2018年11月24日 |
0.1.0 | 2018年11月24日 |
#29 in #imap
58KB
708 代码行
lb64
lb64是一个Rust库,用于对无符号整数和字节进行Base64编码和解码。
lb64致力于以最小的依赖和出色的文档实现panic和unsafe free。
lb64提供了使用常见的Base64配置的能力,如IMAP
、STANDARD
、MIME和
Base64url
,并提供创建自己的Base64配置的实用工具。它还创建了一个完整的Base64类型和创建长度为n的随机Base64数字。
更多详细信息请参阅维基百科
注意:此crate仅适用于nightly版本。由于当前使用overflowing_pow进行无符号整数解码
原因
这个库是一个相当简单的实现,旨在正确学习如何编写Rust代码和文档,并且是我的第一个Rust项目。欢迎和学习目的接受pull requests。
用法
将其添加到您的Cargo.toml
[dependencies]
lb64 = "0.1.2"
将其添加到您的src/main.rs
或src/lib.rs
extern crate lb64;
示例
extern crate lb64;
use lb64::Base64;
use lb64::config::{Config, MIME};
fn main() {
let s: &str = "Hello!";
let b64 = Base64::new_encode_bytes(s.as_bytes(), MIME);
println!("{}", b64);
let mut v: u128 = 0;
match lb64.decode_to_unsigned() {
Ok(value) => v = value,
Err(e) => println!("{}", e),
}
let lb64_other = Base64::new_encode_unsigned(&v, MIME);
if lb64_other == b64 {
println!("They're equal!");
}
match String::from_utf8(lb64.decode_to_bytes()) {
Ok(value) => println!("{}", value), // prints Hello
Err(e) => println!("{}", e),
}
}
许可证
lb64在GNU通用公共许可证第3版下分发
依赖项
~570–790KB
~11K SLoC