本文簡要介紹rust語言中 std::string::String.from_utf8
的用法。
用法
pub fn from_utf8(vec: Vec<u8, Global>) -> Result<String, FromUtf8Error>
將字節向量轉換為 String
。
字符串 ( String
) 由字節 ( u8
) 組成,字節向量 ( Vec<u8>
) 由字節組成,因此此函數在兩者之間進行轉換。並非所有字節切片都是有效的 String
s,但是:String
要求它是有效的 UTF-8。 from_utf8()
檢查以確保字節是有效的 UTF-8,然後進行轉換。
如果您確定字節切片是有效的 UTF-8,並且您不想產生有效性檢查的開銷,則此函數有一個不安全版本 from_utf8_unchecked
,它具有相同的行為但跳過查看。
為了效率起見,此方法將注意不複製向量。
如果您需要 &str
而不是 String
,請考慮 str::from_utf8
。
此方法的逆方法是 into_bytes
。
錯誤
如果切片不是 UTF-8,則返回 Err
,並說明為什麽提供的字節不是 UTF-8。您移入的矢量也包括在內。
例子
基本用法:
// some bytes, in a vector
let sparkle_heart = vec![240, 159, 146, 150];
// We know these bytes are valid, so we'll use `unwrap()`.
let sparkle_heart = String::from_utf8(sparkle_heart).unwrap();
assert_eq!("💖", sparkle_heart);
不正確的字節:
// some invalid bytes, in a vector
let sparkle_heart = vec![0, 159, 146, 150];
assert!(String::from_utf8(sparkle_heart).is_err());
有關如何處理此錯誤的更多詳細信息,請參閱 FromUtf8Error
的文檔。
相關用法
- Rust String.from_utf8_lossy用法及代碼示例
- Rust String.from_utf8_unchecked用法及代碼示例
- Rust String.from_utf16_lossy用法及代碼示例
- Rust String.from_utf16用法及代碼示例
- Rust String.from_raw_parts用法及代碼示例
- Rust String.try_reserve用法及代碼示例
- Rust String.insert_str用法及代碼示例
- Rust String.into_raw_parts用法及代碼示例
- Rust String.extend_from_within用法及代碼示例
- Rust String.clear用法及代碼示例
- Rust String.reserve用法及代碼示例
- Rust String.push用法及代碼示例
- Rust String.as_bytes用法及代碼示例
- Rust String.as_str用法及代碼示例
- Rust String.with_capacity用法及代碼示例
- Rust String.remove用法及代碼示例
- Rust String.into_bytes用法及代碼示例
- Rust String.replace_range用法及代碼示例
- Rust String.split_off用法及代碼示例
- Rust String.shrink_to_fit用法及代碼示例
- Rust String.into_boxed_str用法及代碼示例
- Rust String.new用法及代碼示例
- Rust String.insert用法及代碼示例
- Rust String.capacity用法及代碼示例
- Rust String.try_reserve_exact用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::string::String.from_utf8。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。