| Conversion | From | To | Method(s) |
|---|---|---|---|
| &str -> String | &str | String | String::from(s), s.to_string(), s.to_owned() |
| &str -> &u8 | &str | &u8 | s.as_bytes() |
| &str -> Vec | &str | Vec | s.as_bytes().to_vec() or s.as_bytes().to_owned() |
| String -> &str | String | &str | &s if possible* else s.as_str() |
| String -> &u8 | String | &u8 | s.as_bytes() |
| String -> Vec | String | Vec | s.into_bytes() |
| &u8 -> &str | &u8 | &str | std::str::from_utf8(s).unwrap() |
| &u8 -> String | &u8 | String | String::from_utf8(s).unwrap() |
| &u8 -> Vec | &u8 | Vec | s.to_vec() |
| Vec -> &str | Vec | &str | std::str::from_utf8(&s).unwrap() |
| Vec -> String | Vec | String | String::from_utf8(s).unwrap() |
| Vec -> &u8 | Vec | &u8 | &s if possible* else s.as_slice() |
*注意:将 String 转换为 &str 或将 Vec 转换为 &str 或 &u8 可能会导致悬挂引用,应该确保 String 或 Vec 在生命周期内有效。