4个版本
0.1.0 | 2020年7月6日 |
---|---|
0.1.0-alpha.2 | 2020年7月5日 |
0.0.0 | 2020年7月3日 |
1926 in 编码
60KB
1.5K SLoC
b3-rs
是B3 (Better Binary Buffers)的Rust实现。
这个库处于非常早期的开发阶段!直到我们达到v1.0.0
,我们无法保证API的稳定性。
这个库的部分功能基于原始的Python B3实现。
用法
use b3_rs::{Item, ItemKey, ItemValue};
// Creating an item for a simple type
let string_item = Item::from("item value").with_key(ItemKey::from("item key"));
let integer_item = Item::from(123456u64).with_key(ItemKey::from(0u64));
// Creating an item collection
let dict_item = Item::new(
ItemKey::NoKey,
ItemValue::CompositeDict(
vec![string_item, integer_item]
),
);
// Encoding items into the wire format
let encoded = dict_item.encode()?;
// Decoding items from the wire format
let (decoded, byte_count) = Item::decode(&encoded)?;
assert_eq!(byte_count, encoded.len());
assert_eq!(dict_item, decoded);
注意事项
未实现的项目类型
以下项目类型目前尚未实现
Decimal
(类型 10)Sched
(类型 13)Complex
(类型 16)
当消息包含这些类型之一时,将返回错误b3_rs::Error::UnimplementedB3TypeError
。
参考
许可证
本项目中的代码遵循MIT许可证。有关更多信息,请参阅仓库根目录下的LICENSE
文件。
依赖
~67KB