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 theSerialize
andDeserialize
traits from theserde
crate.#[derive(Serialize, Deserialize)]
- derives theSerialize
andDeserialize
traits for thePerson
struct.let bytes = bincode::serialize(&person).unwrap();
- serializes theperson
struct into a byte array using thebincode
crate.println!("{:?}", bytes);
- prints the byte array.
Helpful links
Related
- How to init zero struct in Rust
- How to update struct in Rust
- How to write struct to json file in Rust
- How to compare structs in Rust
- How to get struct fields in Rust
- Example of struct private field in Rust
- Example of struct with vector field in Rust
- Example of struct of structs in Rust
- Example of Rust struct with closure
More of Rust
- How to compare with null in Rust
- Hashshet example in Rust
- How to parse JSON string in Rust?
- How to convert Rust bytes to a vector of u8?
- How to use an enum in a Rust HashMap?
- How to check if a Rust slice contains a certain value?
- How to split a Rust slice into chunks?
- How to loop with condition in Rust
- How to concatenate Rust slices?
- How do I get the type of a variable in Rust?
See more codes...