19个版本 (4个重大更新)
0.6.8 | 2024年7月31日 |
---|---|
0.6.2 | 2024年5月23日 |
0.5.0 | 2024年3月5日 |
0.2.2 | 2023年12月5日 |
0.1.0 | 2023年6月9日 |
#1322 在 编码
每月168次下载
在 4 个crate中使用了(2个直接使用)
59KB
957 行
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许可证条款授权。
依赖关系
~270–730KB
~17K SLoC