2 个不稳定版本
使用旧的 Rust 2015
0.2.0 | 2016 年 3 月 24 日 |
---|---|
0.1.0 | 2016 年 2 月 28 日 |
#2597 在 算法
341 次每月下载
在 kafka-serde 中使用
12KB
182 行
rust-endianness
库提供函数从字节数据流中读取数字,可以是大端或小端格式。函数返回 Result 类型。
安装
将包添加到您的 Cargo.toml 中
[dependencies]
endianness = "0.2"
然后导入它
extern crate endianness;
use endianness::*;
使用方法
读取有符号 16 位整数
let v = vec![0, 128, 128, 0];
assert_eq!(-32768, read_i16(&v[0..2], ByteOrder::LittleEndian).unwrap());
assert_eq!(-32768, read_i16(&v[2..4], ByteOrder::BigEndian).unwrap());
读取有符号 32 位整数
let v = vec![0, 128, 128, 0];
match read_i32(&v, ByteOrder::LittleEndian) {
Ok(n) => println!("Read value {}", n), // 8421376
Err(err) => println!("Error: {}", err),
}
读取单精度浮点数
let v = vec![194, 255, 0, 0];
assert_eq!(-127.5, read_f32(&v[0..4], ByteOrder::BigEndian).unwrap());