#numbers #reading #byte #integer #read #stream #signed

字节序

Rust 库,用于读取大端和小端格式的数字

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2016 年 3 月 24 日
0.1.0 2016 年 2 月 28 日

#2597算法

Download history 94/week @ 2024-04-04 102/week @ 2024-04-11 75/week @ 2024-04-18 78/week @ 2024-04-25 84/week @ 2024-05-02 63/week @ 2024-05-09 83/week @ 2024-05-16 97/week @ 2024-05-23 136/week @ 2024-05-30 112/week @ 2024-06-06 156/week @ 2024-06-13 95/week @ 2024-06-20 88/week @ 2024-06-27 131/week @ 2024-07-04 65/week @ 2024-07-11 46/week @ 2024-07-18

341 次每月下载
kafka-serde 中使用

MIT 许可证

12KB
182

rust-endianness

库提供函数从字节数据流中读取数字,可以是大端或小端格式。函数返回 Result 类型。

Build Status

安装

将包添加到您的 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());

无运行时依赖