#data-processing #byte #series #array #byteorder #java-like #format

nightly byte_array

A library that supports Java-like series processing with byteorder

4 releases

0.1.3 Mar 18, 2019
0.1.2 Mar 10, 2019
0.1.1 Mar 10, 2019
0.1.0 Mar 9, 2019

#8 in #byteorder

MIT license

16KB
203 lines

ByteArray

Version
A library that supports Java-like series processing. This is useful when you already know the format of your data. On the other hand, the processing of invalid data is relatively poor, so it is not recommended to use it for uncertain data.

Installation

[dependencies]
byte_array = "0.1"

Usage

use byte_array::ByteArray;

fn main() {

    // Create an empty ByteArray
    let mut ba = ByteArray::new();
    
    // Input data
    let a: f64      = 3.14;
    let b: u16      = 1234;
    let c: String   = String::from("hello");
    
    // Write data to ByteArray
    ba.write(&a);
    // ( Using Operator <<= )
    ba <<= &b;
    ba <<= &c;
    
    // Read data from ByteArray
    ba.seek_first();
    assert_eq!(a, ba.read::<f64>());                // 3.14
    assert_eq!(b, ba.read_safe::<u16>().unwrap());  // 1234
    assert_eq!(c, ba.read::<String>());             // "hello"
}

Supported Data Types

Data Type Supported
bool Yes
u8 Yes
u16 Yes
u32 Yes
u64 Yes
u128 Yes
i8 Yes
i16 Yes
i32 Yes
i64 Yes
i128 Yes
f32 Yes
f64 Yes
--------------- -----------
usize as u64 Yes
isize as i64 Yes
--------------- -----------
Vec Yes
String Yes
ByteArray Yes
User-Defined Optional

Documentation

Docs.rs

License

Distributed under MIT License since 2019.

Dependencies

~115KB