3 releases
0.1.2 | Jun 6, 2022 |
---|---|
0.1.1 | Feb 24, 2022 |
0.1.0 | Dec 14, 2021 |
#1005 in Encoding
183 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
u16
will be encoded asi32
u32
will be encoded asi64
u16
andu32
can't be decoded from jce
Dependencies
~135–405KB