3 releases
| 0.1.2 | Jun 6, 2022 |
|---|---|
| 0.1.1 | Feb 24, 2022 |
| 0.1.0 | Dec 14, 2021 |
#1442 in Rust patterns
173 downloads per month
Used in 9 crates
(2 directly)
29KB
759 lines
Jcers
A Encode/Decode lib for Jce.
Features
derive: derive macro support
How to use
use jcers::{JceGet, JcePut};
#[derive(Debug, Default, JceGet, JcePut)]
pub struct YouJceStruct { // only support NamedStruct
#[jce(0)] // jce tag
pub a_named_field: u8, // a field
}
let s: YouJceStruct = jcers::from_buf(&mut buf).unwrap(); // buf should impl bytes::Buf
JceType
| JceCode | JceType | RustType |
|---|---|---|
| 0 | u8 | u8 |
| 1 | i16 | i16 |
| 2 | i32 | i32 |
| 3 | i64 | i64 |
| 4 | f32 | f32 |
| 5 | f64 | f64 |
| 6 | ShortString | String |
| 7 | LongString | String |
| 8 | Map | HashMap<K, V> |
| 9 | List | Vec<V> |
| 10 | Struct | T |
| 11 | StructEnd | - |
| 12 | Empty | T::default() |
| 13 | bytes | bytes::Bytes |
Other
u16will be encoded asi32u32will be encoded asi64u16andu32can't be decoded from jce
Dependencies
~150–445KB