bipack_ru/README.md

45 lines
1.2 KiB
Markdown
Raw Normal View History

# bipack_ru
2023-10-12 02:40:15 +03:00
This is Bipack format implementation, minimalistic by purpose.
> work in progress.
## Already implemented:
The following parts are already safe to use
- u8, u16, u32, u64, `smartint` variable-length unsigned
- i8, i16, i32, i64, `smartint` variable-length signed
- strings (utf8, variable length)
- fixed byte arrays
- variable length byte arrays
The sample code (see `src/lib.rs` for more:)
```rust
fn test() {
let mut data = Vec::<u8>::new();
data.put_str("Hello, rupack!");
println!("size ${}\n{}", data.len(), to_dump(&data));
let mut src = SliceSource::from(&data);
assert_eq!("Hello, rupack!", src.get_str().unwrap());
}
```
## Tools and macros
- `to_dump` to convert binary slice into human-readable dump
- 'StringBuilder' super minimalistic string builder (footprint).
At the moment it does not include `serde` module as it is yet unclear how much
it will increase .wasm size. Could be added later.
The autodoc documentation is good enough already, so we do not repeat it here now.
2023-10-12 02:40:15 +03:00
## How to
- just ad this package to your dependencies, it is on crates.io.
# License
For compliance with other modules this work is provided under APACHE 2.0 license a copy of which is included in the file `LICENSE`.