Trait num_traits::ops::bytes::ToBytes
source · pub trait ToBytes {
type Bytes: NumBytes;
// Required methods
fn to_be_bytes(&self) -> Self::Bytes;
fn to_le_bytes(&self) -> Self::Bytes;
// Provided method
fn to_ne_bytes(&self) -> Self::Bytes { ... }
}
Required Associated Types§
Required Methods§
sourcefn to_be_bytes(&self) -> Self::Bytes
fn to_be_bytes(&self) -> Self::Bytes
Return the memory representation of this number as a byte array in big-endian byte order.
§Examples
use num_traits::ToBytes;
let bytes = ToBytes::to_be_bytes(&0x12345678u32);
assert_eq!(bytes, [0x12, 0x34, 0x56, 0x78]);
sourcefn to_le_bytes(&self) -> Self::Bytes
fn to_le_bytes(&self) -> Self::Bytes
Return the memory representation of this number as a byte array in little-endian byte order.
§Examples
use num_traits::ToBytes;
let bytes = ToBytes::to_le_bytes(&0x12345678u32);
assert_eq!(bytes, [0x78, 0x56, 0x34, 0x12]);
Provided Methods§
sourcefn to_ne_bytes(&self) -> Self::Bytes
fn to_ne_bytes(&self) -> Self::Bytes
Return the memory representation of this number as a byte array in native byte order.
As the target platform’s native endianness is used,
portable code should use to_be_bytes
or to_le_bytes
, as appropriate, instead.
§Examples
use num_traits::ToBytes;
#[cfg(target_endian = "big")]
let expected = [0x12, 0x34, 0x56, 0x78];
#[cfg(target_endian = "little")]
let expected = [0x78, 0x56, 0x34, 0x12];
let bytes = ToBytes::to_ne_bytes(&0x12345678u32);
assert_eq!(bytes, expected)