mirror of
https://github.com/edg-l/teeint.git
synced 2024-11-20 23:18:21 +00:00
.github/workflows | ||
src | ||
.gitignore | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
teeint
A teeworlds variable integer packer/unpacker.
Packing
use std::io::Cursor;
let mut buff = Cursor::new([0; 2]);
teeint::pack(&mut buff, 64).unwrap();
let buff = buff.into_inner();
assert_eq!(buff[0], 0b1000_0000);
assert_eq!(buff[1], 0b0000_0001);
Or using the trait [PackTwInt]:
use std::io::Cursor;
use teeint::PackTwInt;
let mut buff = Cursor::new([0; 2]);
64.pack(&mut buff).unwrap();
let buff = buff.into_inner();
assert_eq!(buff[0], 0b1000_0000);
assert_eq!(buff[1], 0b0000_0001);
Or
use teeint::PackTwInt;
let mut buff = [0; 2];
64.pack(&mut buff.as_mut_slice()).unwrap();
assert_eq!(buff[0], 0b1000_0000);
assert_eq!(buff[1], 0b0000_0001);
Unpacking
use std::io::Cursor;
let mut buff = Cursor::new([0b1000_0000, 0b0000_0001]);
let data = teeint::unpack(&mut buff).unwrap();
assert_eq!(data, 64);
Or using the trait [UnPackTwInt]:
use teeint::UnPackTwInt;
let buff = [0b1000_0000, 0b0000_0001];
let result = buff.as_slice().unpack().unwrap();
assert_eq!(result, 64);
License: MIT OR Apache-2.0