本文簡要介紹rust語言中 Trait std::ascii::AsciiExt
的用法。
用法
pub trait AsciiExt {
type Owned;
fn is_ascii(&self) -> bool;
fn to_ascii_uppercase(&self) -> Self::Owned;
fn to_ascii_lowercase(&self) -> Self::Owned;
fn eq_ignore_ascii_case(&self, other: &Self) -> bool;
fn make_ascii_uppercase(&mut self);
fn make_ascii_lowercase(&mut self);
}
ASCII-subset 僅限操作的擴展方法。
請注意,對看似非 ASCII 字符的操作有時會產生意想不到的結果。考慮這個例子:
use std::ascii::AsciiExt;
assert_eq!(AsciiExt::to_ascii_uppercase("café"), "CAFÉ");
assert_eq!(AsciiExt::to_ascii_uppercase("café"), "CAFé");
在第一個示例中,小寫字符串表示為 "cafe\u{301}"
(最後一個字符是銳音符 combining character )。與字符串中的其他字符不同,組合字符不會映射到大寫變體,從而導致 "CAFE\u{301}"
。在第二個示例中,小寫字符串表示為 "caf\u{e9}"
(最後一個字符是單個 Unicode 字符,表示帶銳音符的 'e')。由於最後一個字符是在 ASCII 範圍之外定義的,因此它不會映射到大寫變體,從而導致 "CAF\u{e9}"
。
相關用法
- Rust AsFd.as_fd用法及代碼示例
- Rust AsHandle.as_handle用法及代碼示例
- Rust AsMut用法及代碼示例
- Rust AssertUnwindSafe用法及代碼示例
- Rust AsRawFd.as_raw_fd用法及代碼示例
- Rust AsRef用法及代碼示例
- Rust AtomicU8.fetch_sub用法及代碼示例
- Rust AtomicPtr.compare_exchange_weak用法及代碼示例
- Rust AtomicU32.fetch_min用法及代碼示例
- Rust AtomicI8.fetch_or用法及代碼示例
- Rust AtomicI8.as_mut_ptr用法及代碼示例
- Rust AtomicU8.fetch_or用法及代碼示例
- Rust AtomicUsize.load用法及代碼示例
- Rust AtomicI16.fetch_min用法及代碼示例
- Rust AtomicI16.fetch_and用法及代碼示例
- Rust AtomicU16.into_inner用法及代碼示例
- Rust AtomicI16.fetch_nand用法及代碼示例
- Rust AtomicI32.compare_exchange用法及代碼示例
- Rust AtomicU16.from_mut用法及代碼示例
- Rust AtomicI16.swap用法及代碼示例
- Rust AtomicU8.as_mut_ptr用法及代碼示例
- Rust AtomicBool.fetch_update用法及代碼示例
- Rust AtomicU32.fetch_max用法及代碼示例
- Rust AtomicI64.from_mut用法及代碼示例
- Rust Arc.assume_init用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Trait std::ascii::AsciiExt。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。