#unsigned-integer #packing #u32 #u8 #size #different #byte-packing

intpack

intpack 是一个函数集合,用于将无符号整数打包/解包为不同大小的其他无符号整数。例如,将 4 个 u8 打包成一个 u32。

1 个不稳定版本

0.1.0 2021 年 9 月 28 日

#1448数据结构

MIT 许可证

8KB
119

intpack

intpack 是一个函数集合,用于将无符号整数打包/解包为不同大小的其他无符号整数。例如,将 4 个 u8 打包成一个 u32。

!! 函数尚未完全测试(但应该可以工作) !!

用法

使用 u8_to_u32 函数将 4 个 u8 打包成 u32

use intpack::pack;

let result = pack::u8_to_u32(&[0xff, 0x00, 0xff, 0x00]);
// Returns 0xff00ff00

并解包该 u32

use intpack::unpack;

let result = unpack::u32_to_u8(0xff00ff00);
// Returns [0xff, 0x00, 0xff, 0x00]

需要注意的是,当打包时,输入切片(索引 0)中最低有效字节变为输出值中最有效字节。

当解包时,输入值中最有效字节变为输出数组(索引 0)中最低有效字节。


lib.rs:

intpack 是一个函数集合,用于将无符号整数打包/解包为不同大小的其他无符号整数。例如,将 4 个 u8 打包成一个 u32。

无运行时依赖