commit | deb58862ddc0d02142abb4ffed6a966ada0fdec6 | [log] [tgz] |
---|---|---|
author | Andrew Gallant <jamslam@gmail.com> | Sun Apr 01 10:58:57 2018 -0400 |
committer | Andrew Gallant <jamslam@gmail.com> | Sun Apr 01 10:58:57 2018 -0400 |
tree | 836374786b908e0a4276b65089f9a0ac4fd2c84d | |
parent | e00c2331f66b7b0909d4484fba8c76054ab843a5 [diff] |
style: remove all uses of transmute We should have done this from the start. Everything can be accomplished via pointer casts. Benchmarks show negligible differences.
This crate provides convenience methods for encoding and decoding numbers in either big-endian or little-endian order.
Dual-licensed under MIT or the UNLICENSE.
This crate works with Cargo and is on crates.io. Add it to your Cargo.toml
like so:
[dependencies] byteorder = "1"
If you want to augment existing Read
and Write
traits, then import the extension methods like so:
extern crate byteorder; use byteorder::{ReadBytesExt, WriteBytesExt, BigEndian, LittleEndian};
For example:
use std::io::Cursor; use byteorder::{BigEndian, ReadBytesExt}; let mut rdr = Cursor::new(vec![2, 5, 3, 0]); // Note that we use type parameters to indicate which kind of byte order // we want! assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap()); assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());
no_std
cratesThis crate has a feature, std
, that is enabled by default. To use this crate in a no_std
context, add the following to your Cargo.toml
:
[dependencies] byteorder = { version = "1", default-features = false }