#codec #decoding #pack #xdr-reader

xdr

XDR编码和解码库

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2015年8月20日

#1428编码

MIT 许可证

15KB
430

xdr-rs

Build Status

此包提供了外部数据表示(XDR)的编码和解码函数。

关于XDR格式的RFC在 https://tools.ietf.org/html/rfc4506

示例

extern crate xdr;

use xdr::xdr::{XdrWriter,XdrReader};

let mut wr = XdrWriter::new();
wr.pack(0xCCu8);
wr.pack(0xAAAAu16);
wr.pack(0xDEADBEEFu32);
wr.pack(-1i8);
wr.pack(-256i16);
wr.pack(-20i32);
wr.pack(100.500f32);
wr.pack(-100.500e10f64);

let buf = &wr.into_buffer();
let mut rdr = XdrReader::new(buf);

assert_eq!(0xCCu8,rdr.unpack::<u8>().unwrap());
assert_eq!(0xAAAAu16,rdr.unpack::<u16>().unwrap());
assert_eq!(0xDEADBEEFu32,rdr.unpack::<u32>().unwrap());
assert_eq!(-1i8,rdr.unpack::<i8>().unwrap());
assert_eq!(-256i16,rdr.unpack::<i16>().unwrap());
assert_eq!(-20i32,rdr.unpack::<i32>().unwrap());
assert_eq!(100.500f32,rdr.unpack::<f32>().unwrap());
assert_eq!(-100.500e10f64,rdr.unpack::<f64>().unwrap());

构建

cargo build # build library
cargo test # execute tests
cargo doc # compile rustdoc (wish that docs were here...)

依赖项

~120KB