Created
November 21, 2019 10:20
-
Star
(309)
You must be signed in to star a gist -
Fork
(52)
You must be signed in to fork a gist
-
-
Save jimmychu0807/9a89355e642afad0d2aeda52e6ad2424 to your computer and use it in GitHub Desktop.
Revisions
-
jimmychu0807 created this gist
Nov 21, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,40 @@ use std::str; fn main() { // -- FROM: vec of chars -- let src1: Vec<char> = vec!['j','{','"','i','m','m','y','"','}']; // to String let string1: String = src1.iter().collect::<String>(); // to str let str1: &str = &src1.iter().collect::<String>(); // to vec of byte let byte1: Vec<u8> = src1.iter().map(|c| *c as u8).collect::<Vec<_>>(); println!("Vec<char>:{:?} | String:{:?}, str:{:?}, Vec<u8>:{:?}", src1, string1, str1, byte1); // -- FROM: vec of bytes -- // in rust, this is a slice // b - byte, r - raw string, br - byte of raw string let src2: Vec<u8> = br#"e{"ddie"}"#.to_vec(); // to String // from_utf8 consume the vector of bytes let string2: String = String::from_utf8(src2.clone()).unwrap(); // to str let str2: &str = str::from_utf8(&src2).unwrap(); // to vec of chars let char2: Vec<char> = src2.iter().map(|b| *b as char).collect::<Vec<_>>(); println!("Vec<u8>:{:?} | String:{:?}, str:{:?}, Vec<char>:{:?}", src2, string2, str2, char2); // -- FROM: String -- let src3: String = String::from(r#"o{"livia"}"#); let str3: &str = &src3; let char3: Vec<char> = src3.chars().collect::<Vec<_>>(); let byte3: Vec<u8> = src3.as_bytes().to_vec(); println!("String:{:?} | str:{:?}, Vec<char>:{:?}, Vec<u8>:{:?}", src3, str3, char3, byte3); // -- FROM: str -- let src4: &str = r#"g{'race'}"#; let string4 = String::from(src4); let char4: Vec<char> = src4.chars().collect(); let byte4: Vec<u8> = src4.as_bytes().to_vec(); println!("str:{:?} | String:{:?}, Vec<char>:{:?}, Vec<u8>:{:?}", src4, string4, char4, byte4); }