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 网络编程
6,406 每月下载量
用于 23 个crate (16个直接使用)
45KB
713 行
bytebuffer
此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,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证的定义,应按照上述方式双许可,而无需任何附加条款或条件。
依赖关系
~180KB