4 个版本 (破坏性更新)
0.4.0 | 2021 年 8 月 22 日 |
---|---|
0.4.0-beta |
|
0.3.0 | 2021 年 8 月 6 日 |
0.2.0 | 2021 年 8 月 6 日 |
0.1.0 | 2021 年 8 月 6 日 |
#12 in #le
每月下载量:32
用于 2 crate
6KB
76 行
num-bytes
将原始数据类型转换为字节的特质。
类似于 num 的不良扩展。
用法有点复杂
let a = [8,0];
let b: i16 = from_generic(a);
assert_eq!(b,8);
fn from_generic<T: num_bytes::FromBytes<N>, const N: usize>(x: [u8;N]) -> T {
T::from_le_bytes(x)
}
并且
let a = 8i16;
let b = into_generic(a);
assert_eq!(b,[8,0]);
fn into_generic<T: num_bytes::IntoBytes<N>, const N: usize>(x: T) -> [u8;N] {
x.into_le_bytes()
}
lib.rs
:
一个允许将泛型从/转换为字节的 crate。
定义了 FromBytes
和 IntoBytes
特质。
在所有数值原始数据类型上实现了它们。
用法有点复杂
let a = [8,0];
let b: i16 = from_generic(a);
assert_eq!(b,8);
fn from_generic<T: num_bytes::FromBytes<N>, const N: usize>(x: [u8;N]) -> T {
T::from_le_bytes(x)
}
let a = 8i16;
let b = into_generic(a);
assert_eq!(b,[8,0]);
fn into_generic<T: num_bytes::IntoBytes<N>, const N: usize>(x: T) -> [u8;N] {
x.into_le_bytes()
}