#read-write #little-endian #endianness #big-endian #byte #binary

no-std byteorder-sgx

用于读取/写入大端和小端格式的数字的库。[SGX 兼容版本]

1 个不稳定发布

使用旧的 Rust 2015

0.0.1 2019年11月3日

#25 in #big-endian

Unlicense OR MIT

165KB
2K SLoC

这个crate提供了编码和解码大端或小端顺序数字的便利方法。

Build status

双许可 MIT 或 UNLICENSE

文档

https://docs.rs/byteorder

安装

这个crate与Cargo兼容,可在crates.io上找到。将其添加到您的 Cargo.toml 中,如下所示

[dependencies]
byteorder = "1"

如果您想增强现有的 ReadWrite 特性,则可以像这样导入扩展方法

extern crate byteorder;

use byteorder::{ReadBytesExt, WriteBytesExt, BigEndian, LittleEndian};

例如

use std::io::Cursor;
use byteorder::{BigEndian, ReadBytesExt};

let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
// Note that we use type parameters to indicate which kind of byte order
// we want!
assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());

no_std crates

这个crate有一个默认启用的 std 功能。要在 no_std 环境中使用此crate,请将以下内容添加到您的 Cargo.toml

[dependencies]
byteorder = { version = "1", default-features = false }

替代方案

请注意,从Rust 1.32开始,标准数值类型提供了内置方法,如 to_le_bytesfrom_le_bytes,它们支持一些相同的使用场景。

依赖项

~0–600KB
~11K SLoC