snippetrustCritical
How do I convert a string into a vector of bytes in rust?
Viewed 0 times
byteshowconvertvectorruststringinto
Problem
That might be the dumbest Rustlang question ever but I promise I tried my best to find the answer in the documentation or any other place on the web.
I can convert a string to a vector of bytes like this:
Unfortunately I can't do it this way
Because
But then, how do I get my foo converted into a vector of bytes?
I can convert a string to a vector of bytes like this:
let bar = bytes!("some string");Unfortunately I can't do it this way
let foo = "some string";
let bar = bytes!(foo);Because
bytes! expects a string literal.But then, how do I get my foo converted into a vector of bytes?
Solution
(&str).as_bytes gives you a view of a string as a &[u8] byte slice (that can be called on String since that derefs to str, and there's also String.into_bytes will consume a String to give you a Vec.Use the
.as_bytes version if you don't need ownership of the bytes.fn main() {
let string = "foo";
println!("{:?}", string.as_bytes()); // prints [102, 111, 111]
}
BTW, The naming conventions for conversion functions are helpful in situations like these, because they allow you to know approximately what name you might be looking for.
Context
Stack Overflow Q#23850486, score: 148
Revisions (0)
No revisions yet.