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


Rust u128.from_ne_bytes用法及代码示例


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

用法

pub const fn from_ne_bytes(bytes: [u8; 16]) -> u128

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

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

例子

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

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

use std::convert::TryInto;

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

相关用法


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