pub trait FromBytes {
    type Bytes: NumBytes + ?Sized;

    fn from_be_bytes(bytes: &Self::Bytes) -> Self;
    fn from_le_bytes(bytes: &Self::Bytes) -> Self;

    fn from_ne_bytes(bytes: &Self::Bytes) -> Self { ... }
}

Required Associated Types

Required Methods

Create a number from its representation as a byte array in big endian.

Examples
use num_traits::FromBytes;

let value: u32 = FromBytes::from_be_bytes(&[0x12, 0x34, 0x56, 0x78]);
assert_eq!(value, 0x12345678);

Create a number from its representation as a byte array in little endian.

Examples
use num_traits::FromBytes;

let value: u32 = FromBytes::from_le_bytes(&[0x78, 0x56, 0x34, 0x12]);
assert_eq!(value, 0x12345678);

Provided Methods

Create a number from its memory representation as a byte array in native endianness.

As the target platform’s native endianness is used, portable code likely wants to use from_be_bytes or from_le_bytes, as appropriate instead.

Examples
use num_traits::FromBytes;

#[cfg(target_endian = "big")]
let bytes = [0x12, 0x34, 0x56, 0x78];

#[cfg(target_endian = "little")]
let bytes = [0x78, 0x56, 0x34, 0x12];

let value: u32 = FromBytes::from_ne_bytes(&bytes);
assert_eq!(value, 0x12345678)

Implementations on Foreign Types

Implementors