本文簡要介紹rust語言中 std::ffi::CStr.to_string_lossy
的用法。
用法
pub fn to_string_lossy(&self) -> Cow<'_, str>
如果 CStr
的內容是有效的 UTF-8 數據,則此函數將返回帶有相應 &str
切片的 Cow::Borrowed(&str)
。否則,它將用 U+FFFD REPLACEMENT CHARACTER
替換任何無效的UTF-8 序列,並返回帶有結果的Cow::Owned(&str)
。
例子
在包含有效 UTF-8 的 CStr
上調用 to_string_lossy
:
use std::borrow::Cow;
use std::ffi::CStr;
let cstr = CStr::from_bytes_with_nul(b"Hello World\0")
.expect("CStr::from_bytes_with_nul failed");
assert_eq!(cstr.to_string_lossy(), Cow::Borrowed("Hello World"));
在包含無效 UTF-8 的 CStr
上調用 to_string_lossy
:
use std::borrow::Cow;
use std::ffi::CStr;
let cstr = CStr::from_bytes_with_nul(b"Hello \xF0\x90\x80World\0")
.expect("CStr::from_bytes_with_nul failed");
assert_eq!(
cstr.to_string_lossy(),
Cow::Owned(String::from("Hello �World")) as Cow<'_, str>
);
相關用法
- Rust CStr.to_str用法及代碼示例
- Rust CStr.to_bytes用法及代碼示例
- Rust CStr.to_bytes_with_nul用法及代碼示例
- Rust CStr.into_c_string用法及代碼示例
- Rust CStr.from_bytes_with_nul用法及代碼示例
- Rust CStr.from_bytes_with_nul_unchecked用法及代碼示例
- Rust CStr.from_ptr用法及代碼示例
- Rust CStr.as_ptr用法及代碼示例
- Rust CString.into_bytes用法及代碼示例
- Rust CString.from_raw用法及代碼示例
- Rust CString.into_boxed_c_str用法及代碼示例
- Rust CStr用法及代碼示例
- Rust CString.into_raw用法及代碼示例
- Rust CString.as_c_str用法及代碼示例
- Rust CString.from_vec_unchecked用法及代碼示例
- Rust CString.from_vec_with_nul_unchecked用法及代碼示例
- Rust CString.from_vec_with_nul用法及代碼示例
- Rust CString.as_bytes用法及代碼示例
- Rust CString用法及代碼示例
- Rust CString.into_bytes_with_nul用法及代碼示例
- Rust CString.as_bytes_with_nul用法及代碼示例
- Rust CString.new用法及代碼示例
- Rust CString.into_string用法及代碼示例
- Rust Cursor.new用法及代碼示例
- Rust Condvar.notify_all用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::ffi::CStr.to_string_lossy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。