#io-write #write #endian #leb128 #into

write-into

一个将事物写入 io::Write 的 trait

16 个版本

0.3.10 2022 年 10 月 31 日
0.3.9 2022 年 6 月 4 日
0.3.7 2022 年 5 月 24 日
0.2.0 2022 年 5 月 21 日
0.1.3 2022 年 5 月 21 日

6#leb128

每月 30 次下载

MIT 许可证

26KB
485

write-into

io::Write 之上定义了一个 trait,用于将事物写入其中。

use std::io;

trait WriteInto {
    type Output;
    fn write_into(self, sink: &mut impl io::Write) -> io::Result<Self::Output>;
}

该包还提供了包装器,例如 BigEndianLittleEndian,以特定格式写入值。

示例

use write_into::{BigEndian, write_into};

let mut buffer = Vec::new();
write_into(&mut buffer, BigEndian(0xCAFEBABEu32)).unwrap();
assert_eq!(&buffer, &[0xCA, 0xFE, 0xBA, 0xBE]);

包装器

包装器 用于写入值...
BigEndian ... 以大端字节顺序。
LittleEndian ... 以小端字节顺序。
Plain ... 如其在内存中表现的那样。
Sequence ... 从 IntoIterator
Sized ... 在其表示的长度前加上长度。
SizedSequence ... 从 IntoIterator 中具有已知长度的序列。
Sleb128 ... 以 LEB-128 格式 (有符号)
Uleb128 ... 以 LEB-128 格式 (无符号)

无运行时依赖