fn main() { let test: &str = "Test"; let bytes: &[u8] = test.as_bytes(); // convert bytes => str let res = bytes.iter().map(|&s| s as char).collect::<String>(); let converted: String = String::from_utf8(bytes.to_vec()).unwrap(); println!("{}", test); println!("{}", converted); } 追記 コメントにて指摘されたことを追記。 Vecに変換するとVecを生成してしまい若干非効率になる。イテレータを取得しmapすることでそれを避けられる。 ただしくはUTF-8の文字列としてバリデーションをするのと、一文字として変換するのとの