Skip to content

Rust library for reading/writing numbers in big-endian and little-endian.

License

Notifications You must be signed in to change notification settings

rkjnsn/byteorder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This crate provides convenience methods for encoding and decoding numbers in either big-endian or little-endian order. This is meant to replace the old methods defined on the standard library Reader and Writer traits.

This crate currently supports both the std::io and std::old_io modules.

Build status

Licensed under the UNLICENSE.

Documentation

http://burntsushi.net/rustdoc/byteorder/.

The documentation includes examples.

Installation

This crate works with Cargo and is on crates.io. The package is regularly updated. Add is to your Cargo.toml like so:

[dependencies]
byteorder = "*"

If you want to augment existing Reader and Writer types, then import the extension methods like so:

extern crate byteorder;

use byteorder::{ReaderBytesExt, WriterBytesExt, BigEndian, LittleEndian};

Or use the ReadBytesExt/WriteBytesExt traits if you're using the new std::io module.

For example:

use std::old_io::MemReader;
use byteorder::{BigEndian, ReaderBytesExt};

let mut rdr = MemReader::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());

About

Rust library for reading/writing numbers in big-endian and little-endian.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.3%
  • Other 0.7%