本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。