rustHow to convert struct to bytes in Rust
Structs in Rust can be converted to bytes using the serialize and deserialize functions from the serde crate.
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Person {
name: String,
age: u8,
}
fn main() {
let person = Person {
name: String::from("John"),
age: 30,
};
let bytes = bincode::serialize(&person).unwrap();
println!("{:?}", bytes);
}
Output example
[8, 74, 111, 104, 110, 0, 0, 0, 30]
Code explanation
use serde::{Serialize, Deserialize};- imports theSerializeandDeserializetraits from theserdecrate.#[derive(Serialize, Deserialize)]- derives theSerializeandDeserializetraits for thePersonstruct.let bytes = bincode::serialize(&person).unwrap();- serializes thepersonstruct into a byte array using thebincodecrate.println!("{:?}", bytes);- prints the byte array.
Helpful links
Related
- Example of constant struct in Rust
- Example of Rust struct with closure
- How to init zero struct in Rust
- How to extend struct from another struct in Rust
- How to serialize struct to xml in Rust
- Example of struct with vector field in Rust
- How to update struct in Rust
- How to sort a struct in Rust
- Rust struct with one field example
- How to set default value in Rust struct
More of Rust
- Generator example in Rust
- How to replace a capture group using Rust regex?
- How to match a URL with a regex in Rust?
- How to use binary regex in Rust?
- How to use regex lookahead in Rust?
- How to make regex case insensitive in Rust?
- Regex example to match multiline string in Rust?
- How to use regex to match a double quote in Rust?
- Yield example in Rust
- How to use a tuple as a key in a Rust HashMap?
See more codes...