17个不稳定版本 (3个重大更新)
0.6.8 | 2024年7月31日 |
---|---|
0.6.7 | 2024年6月26日 |
0.6.2 | 2024年5月23日 |
0.5.0 | 2024年3月5日 |
0.2.1 | 2023年11月17日 |
10 在 #nuts
每月下载量:181
在 5 个crate中使用(通过 nuts-bytes)
25KB
422 行
nuts-bytes: 转换为二进制数据格式。
nuts-bytes
crate 实现了一个将结构化数据转换为二进制格式的工具。
API文档
API文档位于 此处。
格式规范
二进制格式规范在 docs/format.md 中。
反序列化示例
use nuts_bytes::{Error, Reader, TakeBytesError};
// deserialize a primitive (u32)
let mut reader = Reader::new([0x00, 0x00, 0x02, 0x9A].as_slice());
let n: u32 = reader.read().unwrap();
assert_eq!(n, 666);
// Not enough data available
let mut reader = Reader::new([0; 3].as_slice());
let err = reader.read::<u32>().unwrap_err();
assert!(matches!(err, Error::TakeBytes(TakeBytesError::Eof)));
序列化示例
use nuts_bytes::Writer;
// serialize a primitive (u32)
let mut writer = Writer::new(vec![]);
writer.write(&666u32).unwrap();
assert_eq!(writer.into_target(), [0x00, 0x00, 0x02, 0x9A]);
许可证
您可以在 此处 查看完整的许可证。
本项目采用 MIT 许可证。
依赖关系
~260–710KB
~17K SLoC