#type #endian #byteorder #embedded

无std endiantype

endiantype 是一个无标准库、支持字节序感知的原始类型(如 u8、u16 等)的实现。

4 个版本

0.1.3 2021年8月10日
0.1.2 2021年8月10日
0.1.1 2021年8月9日
0.1.0 2021年8月9日

242无标准库

MIT 协议

15KB
273

字节序类型

Crate API

endiantype 是一个无标准库、支持字节序感知的原始类型(如 u8u16 等)的实现。

所有字节序类型都以透明的方式实现,可以直接用几乎零开销替换原始类型。

用法

将以下内容添加到您的 Cargo.toml 中

endiantype = "0.1.3"

要在 [no_std] 环境中使用,您需要禁用默认功能。

endiantype = { version = "0.1.3", default-features = false}

并从这个crate中导入字节序类型。

use endiantype::types::*;

功能

以下是 endiantype crate 的一些功能。

[no-std] 支持

此crate可以在不使用 std 支持的情况下使用,无需任何要求或附加功能,因为它只依赖于 core

直接替换

此crate为字节序感知类型提供了足够默认操作。

例如,您可以直接将原始类型与字节序感知类型进行比较。

use endiantype::*;
let num_le = u16_le::from_native(10);
assert!(num_le < 11);

其他位运算(如 &|)和算术运算(如 +-)也得到支持。

use endiantype::*;
let a = u32_le::from_native(1);
let b = u32_be::from_native(2);
assert!(a+b == 3);

无运行时依赖

功能