https://github.com/abrahum/jcers
A Encode/Decode lib for Jce.
https://github.com/abrahum/jcers
Last synced: 6 months ago
JSON representation
A Encode/Decode lib for Jce.
- Host: GitHub
- URL: https://github.com/abrahum/jcers
- Owner: abrahum
- License: mit
- Created: 2021-12-14T13:22:22.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-02-24T00:48:02.000Z (over 3 years ago)
- Last Synced: 2024-10-31T11:53:43.629Z (7 months ago)
- Language: Rust
- Size: 11.7 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license
Awesome Lists containing this project
README
# Jcers
A Encode/Decode lib for Jce.
## Features
- `derive`: derive macro support
## How to use
```rust
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 |
| 9 | List | Vec |
| 10 | Struct | T |
| 11 | StructEnd | - |
| 12 | Empty | T::default() |
| 13 | bytes | bytes::Bytes |