jce
is a Jce encoding/decoding implementation for the
Rust programing language.
Why jce
?
```rust use jce::JceStruct;
struct Person { name: String, // tag = 0 age: u8, // tag = 1 #[jce(tag = "5")] male: bool, // tag = 5 phone: u64, // tag = 6 #[jce(tag = "11")] home: Home, }
struct Home { location: String, }
fn main() { let person = Person { name: "Jack".into(), age: 12, male: true, phone: 1145141919810, home: Home { location: "下北泽".into() } };
let mut b = vec![0u8; 0];
person.encode(&mut b);
println!("{:?}", &*b);
let decode = Person::decode(&*b).unwrap();
assert_eq!(person, decode);
} ```
| Jce Type | Rust Type |
|---------------------------|--------------------------|
| BYTE | i8 / u8 |
| SHORT | i16 / u16 |
| INT | i32 / u32 |
| LONG | i64 / u64 |
| FLOAT | f32 |
| DOUBLE | f64 |
| SHORTBYTES / LONGBYTES | Vec