4个版本
0.1.2 | 2024年7月17日 |
---|---|
0.1.1 | 2024年5月24日 |
0.1.0 | 2024年5月24日 |
0.0.0 | 2024年5月23日 |
在编码中排名403
每月下载量703
被5个crate使用(3个直接使用)
69KB
878 行
endian-num
这个crate提供了Be
(大端)和Le
(小端)字节序感知数值类型。
与专注于编码和解码数字到字节流的流行crate byteorder
不同,此crate专注于数字的状态。这对于创建包含特定字节序字段的struct非常有用,例如在virtio中。与专注于状态的其它crate相比,此crate遵循从core::num
的命名约定,功能丰富,并对每个方法进行了广泛的文档说明。
核心API大致如下(对应于Be
)
#[repr(transparent)]
pub struct<T> Le(pub T);
impl Le<T: Integer> {
pub const fn from_ne(n: T) -> Self;
pub const fn from_be(n: Be<T>) -> Self;
pub const fn to_ne(self) -> T;
pub const fn to_be(self) -> Be<T>;
pub const fn to_be_bytes(self) -> [u8; mem::size_of::<Self>()];
pub const fn to_le_bytes(self) -> [u8; mem::size_of::<Self>()];
pub const fn to_ne_bytes(self) -> [u8; mem::size_of::<Self>()];
pub const fn from_be_bytes(bytes: [u8; mem::size_of::<Self>()]) -> Self;
pub const fn from_le_bytes(bytes: [u8; mem::size_of::<Self>()]) -> Self;
pub const fn from_ne_bytes(bytes: [u8; mem::size_of::<Self>()]) -> Self;
}
这些类型还实现了来自core::cmp
、core::convert
、core::fmt
和core::ops
的适当特质,并提供了额外的计算辅助方法。
有关API文档,请参阅文档。
许可协议
许可协议为以下之一
- Apache License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- 麻省理工学院许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
供您选择。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交并包含在工作中的任何贡献,均应按上述方式双许可,无需额外条款或条件。
依赖关系
~0–330KB