This question already has answers here:
How do I convert a Vector of bytes (u8) to a string
(3个答案)
5个月前关闭。
我有一个
我试过这个,但它不起作用,因为只有将
Rust Playground
(3个答案)
5个月前关闭。
我有一个
Vec<&[u8]>
要转换成这样的String
:let rfrce: Vec<&[u8]> = rec.alleles();
for r in rfrce {
// create new String from rfrce
}
我试过这个,但它不起作用,因为只有将
u8
转换成char
是可能的,但是[u8]
转换成char
不是:let rfrce = rec.alleles();
let mut str = String::from("");
for r in rfrce {
str.push(*r as char);
}
最佳答案
因为r
是u8
的数组,所以需要将其转换为有效的&str
并使用push_str
方法。
use std::str;
fn main() {
let rfrce = vec![&[65,66,67], &[68,69,70]];
let mut str = String::new();
for r in rfrce {
str.push_str(str::from_utf8(r).unwrap());
}
println!("{}", str);
}
Rust Playground
关于string - 正确的方式以字符串形式访问Vec <&[u8]> ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56664127/
10-12 21:26