当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust i32.from_ne_bytes用法及代码示例


本文简要介绍rust语言中 i32.from_ne_bytes 的用法。

用法

pub const fn from_ne_bytes(bytes: [u8; 4]) -> i32

从其内存表示中创建一个整数值作为原生字节序的字节数组。

由于使用了目标平台的本机字节顺序,可移植代码可能希望使用 from_be_bytes from_le_bytes ,视情况而定。

例子

let value = i32::from_ne_bytes(if cfg!(target_endian = "big") {
    [0x12, 0x34, 0x56, 0x78]
} else {
    [0x78, 0x56, 0x34, 0x12]
});
assert_eq!(value, 0x12345678);

从切片而不是数组开始时,可以使用易出错的转换 API:

use std::convert::TryInto;

fn read_ne_i32(input: &mut &[u8]) -> i32 {
    let (int_bytes, rest) = input.split_at(std::mem::size_of::<i32>());
    *input = rest;
    i32::from_ne_bytes(int_bytes.try_into().unwrap())
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 i32.from_ne_bytes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。