9个版本 (5个稳定版)

2.3.0 2024年7月29日
2.2.0 2023年9月28日
2.1.1 2023年1月24日
2.0.1 2022年11月4日
0.1.0 2015年9月5日

#124 in 网络编程

Download history 736/week @ 2024-05-01 972/week @ 2024-05-08 921/week @ 2024-05-15 978/week @ 2024-05-22 1007/week @ 2024-05-29 1088/week @ 2024-06-05 896/week @ 2024-06-12 1109/week @ 2024-06-19 806/week @ 2024-06-26 715/week @ 2024-07-03 993/week @ 2024-07-10 1085/week @ 2024-07-17 1656/week @ 2024-07-24 1544/week @ 2024-07-31 1593/week @ 2024-08-07 1282/week @ 2024-08-14

6,406 每月下载量
用于 23 个crate (16个直接使用)

MIT/Apache

45KB
713

bytebuffer


Crates.io docs.rs CI Checks

此crate提供了一个易于使用的API,用于从多个字节中读取/写入数据。

[dependencies]
bytebuffer = "2.3.0"

API示例

use bytebuffer::ByteBuffer;

// Writing

let mut buffer = ByteBuffer::new();
buffer.write_bytes(&vec![0x1, 0xFF, 0x45]);
buffer.write_u8(1);
buffer.write_i8(1);
buffer.write_u16(1);
buffer.write_i16(1);
buffer.write_u32(1);
buffer.write_i32(1);
buffer.write_u64(1);
buffer.write_i64(1);
buffer.write_u128(1);
buffer.write_i128(1);
buffer.write_f32(0.1);
buffer.write_f64(0.1);
buffer.write_string("Hello");
buffer.write_bit(true);
buffer.write_bits(4, 3);
buffer.flush_bits();

let data = buffer.into_vec();


// Reading 

let mut reader = ByteBuffer::from(data);
// or
let mut reader = ByteReader::from(&data);

let _ = reader.read_bytes(3);
let _ = reader.read_u8();
let _ = reader.read_i8();
let _ = reader.read_u16();
let _ = reader.read_i16();
let _ = reader.read_u32();
let _ = reader.read_i32();
let _ = reader.read_u64();
let _ = reader.read_i64();
let _ = reader.read_f32();
let _ = reader.read_f64();
let _ = reader.read_u128();
let _ = reader.read_i128();
let _ = reader.read_string();
let _ = reader.read_bit();
let _ = reader.read_bits(3);

同时支持使用 half 16位浮点数

features = ["half"]

许可证

根据您的选择,许可协议为


贡献

除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证的定义,应按照上述方式双许可,而无需任何附加条款或条件。

依赖关系

~180KB