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编码

Download history 115/week @ 2024-05-11 362/week @ 2024-05-18 33/week @ 2024-05-25 164/week @ 2024-06-01 323/week @ 2024-06-08 231/week @ 2024-06-15 169/week @ 2024-06-22 12/week @ 2024-06-29 4/week @ 2024-07-13 3/week @ 2024-07-20 143/week @ 2024-07-27 12/week @ 2024-08-03 9/week @ 2024-08-10

每月168次下载
4 个crate中使用了(2个直接使用)

MIT 协议

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