Primitive Type u81.0.0[−]
Expand description
8 位无符号整数类型。
Implementations
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn rotate_left(self, n: u32) -> u8
1.0.0 (const: 1.32.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn rotate_left(self, n: u32) -> u8
1.0.0 (const: 1.32.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn rotate_right(self, n: u32) -> u8
1.0.0 (const: 1.32.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn rotate_right(self, n: u32) -> u8
1.0.0 (const: 1.32.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_add(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_add(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_add(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_add(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
未经检查的整数加法。
假设不会发生溢出,则计算 self + rhs
。
Safety
当以下情况时,这导致未定义的行为
self + rhs > u8::MAX
or self + rhs < u8::MIN
,
i.e. 当 checked_add
返回 None
时。
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_sub(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_sub(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_sub(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_sub(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
未经检查的整数减法。
假设不会发生溢出,则计算 self - rhs
。
Safety
当以下情况时,这导致未定义的行为
self - rhs > u8::MAX
or self - rhs < u8::MIN
,
i.e. 当 checked_sub
返回 None
时。
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_mul(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_mul(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_mul(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_mul(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
未经检查的整数乘法。
假设不会发生溢出,则计算 self * rhs
。
Safety
当以下情况时,这导致未定义的行为
self * rhs > u8::MAX
or self * rhs < u8::MIN
,
i.e. 当 checked_mul
返回 None
时。
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_div(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_div(self, rhs: u8) -> Option<u8>
1.0.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_div_euclid(self, rhs: u8) -> Option<u8>
1.38.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_div_euclid(self, rhs: u8) -> Option<u8>
1.38.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_rem(self, rhs: u8) -> Option<u8>
1.7.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_rem(self, rhs: u8) -> Option<u8>
1.7.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_rem_euclid(self, rhs: u8) -> Option<u8>
1.38.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_rem_euclid(self, rhs: u8) -> Option<u8>
1.38.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn log(self, base: u8) -> u8
[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn log(self, base: u8) -> u8
[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn log2(self) -> u8
[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn log2(self) -> u8
[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn log10(self) -> u8
[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn log10(self) -> u8
[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_log(self, base: u8) -> Option<u8>
[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_log(self, base: u8) -> Option<u8>
[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_log2(self) -> Option<u8>
[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_log2(self) -> Option<u8>
[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_log10(self) -> Option<u8>
[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_log10(self) -> Option<u8>
[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_shl(self, rhs: u32) -> Option<u8>
1.7.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_shl(self, rhs: u32) -> Option<u8>
1.7.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_shl(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_shl(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
未检查的左移。
计算 self << rhs
,假设 rhs
小于 self
中的位数。
Safety
如果 rhs
大于或等于 self
中的位数,则会导致未定义的行为,即
当 checked_shl
返回 None
时。
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_shr(self, rhs: u32) -> Option<u8>
1.7.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_shr(self, rhs: u32) -> Option<u8>
1.7.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_shr(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const unsafe fn unchecked_shr(self, rhs: u8) -> u8
[src]🔬 This is a nightly-only experimental API. (unchecked_math
#85122)
niche optimization path
未检查右移。
计算 self >> rhs
,假设 rhs
小于 self
中的位数。
Safety
如果 rhs
大于或等于 self
中的位数,则会导致未定义的行为,即
当 checked_shr
返回 None
时。
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_pow(self, exp: u32) -> Option<u8>
1.34.0 (const: 1.50.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn checked_pow(self, exp: u32) -> Option<u8>
1.34.0 (const: 1.50.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_add(self, rhs: u8) -> u8
1.0.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_add(self, rhs: u8) -> u8
1.0.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_sub(self, rhs: u8) -> u8
1.0.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_sub(self, rhs: u8) -> u8
1.0.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_mul(self, rhs: u8) -> u8
1.7.0 (const: 1.47.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_mul(self, rhs: u8) -> u8
1.7.0 (const: 1.47.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_pow(self, exp: u32) -> u8
1.34.0 (const: 1.50.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn saturating_pow(self, exp: u32) -> u8
1.34.0 (const: 1.50.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_add(self, rhs: u8) -> u8
1.0.0 (const: 1.32.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_add(self, rhs: u8) -> u8
1.0.0 (const: 1.32.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_sub(self, rhs: u8) -> u8
1.0.0 (const: 1.32.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_sub(self, rhs: u8) -> u8
1.0.0 (const: 1.32.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_mul(self, rhs: u8) -> u8
1.0.0 (const: 1.32.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_mul(self, rhs: u8) -> u8
1.0.0 (const: 1.32.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_div(self, rhs: u8) -> u8
1.2.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_div(self, rhs: u8) -> u8
1.2.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_div_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_div_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_rem(self, rhs: u8) -> u8
1.2.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_rem(self, rhs: u8) -> u8
1.2.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_rem_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_rem_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]包装 (modular) 取反。
计算 -self
,在类型的边界处回绕。
由于无符号类型没有负的等效项,因此该函数的所有应用程序都将自动换行 (-0
除外)。
对于小于相应有符号类型的最大值的值,结果与强制转换相应有符号值的结果相同。
任何较大的值都等于 MAX + 1 - (val - MAX - 1)
,其中 MAX
是对应的有符号类型的最大值。
Examples
基本用法:
请注意,此示例在整数类型之间共享。
这就解释了为什么在这里使用 i8
。
assert_eq!(100i8.wrapping_neg(), -100); assert_eq!((-128i8).wrapping_neg(), -128);Run
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_shl(self, rhs: u32) -> u8
1.2.0 (const: 1.32.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_shl(self, rhs: u32) -> u8
1.2.0 (const: 1.32.0)[src]无 Panic - 按位左移;
产生 self << mask(rhs)
,其中 mask
删除 rhs
的所有高位,这些高位将导致移位超过该类型的位宽。
注意,这与左旋不同; 环绕左移的 RHS 限于该类型的范围,而不是从 LHS 移出的位返回到另一端。
所有原始整数类型都实现了 rotate_left
函数,而您可能想要的是 rotate_left
函数。
Examples
基本用法:
assert_eq!(1u8.wrapping_shl(7), 128); assert_eq!(1u8.wrapping_shl(128), 1);Run
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_shr(self, rhs: u32) -> u8
1.2.0 (const: 1.32.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_shr(self, rhs: u32) -> u8
1.2.0 (const: 1.32.0)[src]无 Panic - 按位右移;
产生 self >> mask(rhs)
,其中 mask
删除 rhs
的所有高位,这些高位将导致移位超过该类型的位宽。
注意,这与右旋转不同。换行右移的 RHS 限于类型的范围,而不是从 LHS 移出的位返回到另一端。
所有原始整数类型都实现了 rotate_right
函数,而您可能想要的是 rotate_right
函数。
Examples
基本用法:
assert_eq!(128u8.wrapping_shr(7), 1); assert_eq!(128u8.wrapping_shr(128), 128);Run
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_pow(self, exp: u32) -> u8
1.34.0 (const: 1.50.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn wrapping_pow(self, exp: u32) -> u8
1.34.0 (const: 1.50.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn div_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn div_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn rem_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]
#[must_use = "this returns the result of the operation, \ without modifying the original"]pub const fn rem_euclid(self, rhs: u8) -> u8
1.38.0 (const: 1.52.0)[src]🔬 This is a nightly-only experimental API. (wrapping_next_power_of_two
#32463)
needs decision on wrapping behaviour
🔬 This is a nightly-only experimental API. (wrapping_next_power_of_two
#32463)
needs decision on wrapping behaviour
将此整数的内存表示作为本机字节顺序的字节数组返回。
由于使用了目标平台的原生字节序,因此,可移植代码应酌情使用 to_be_bytes
或 to_le_bytes
。
Examples
let bytes = 0x12u8.to_ne_bytes(); assert_eq!( bytes, if cfg!(target_endian = "big") { [0x12] } else { [0x12] } );Run
根据其表示形式 (大字节序中的字节数组) 创建一个本地字节序整数值。
Examples
let value = u8::from_be_bytes([0x12]); assert_eq!(value, 0x12);Run
从切片而不是数组开始时,可以使用容易出错的转换 API:
use std::convert::TryInto; fn read_be_u8(input: &mut &[u8]) -> u8 { let (int_bytes, rest) = input.split_at(std::mem::size_of::<u8>()); *input = rest; u8::from_be_bytes(int_bytes.try_into().unwrap()) }Run
从它的表示形式以 little endian 的字节数组创建一个本地 endian 整数值。
Examples
let value = u8::from_le_bytes([0x12]); assert_eq!(value, 0x12);Run
从切片而不是数组开始时,可以使用容易出错的转换 API:
use std::convert::TryInto; fn read_le_u8(input: &mut &[u8]) -> u8 { let (int_bytes, rest) = input.split_at(std::mem::size_of::<u8>()); *input = rest; u8::from_le_bytes(int_bytes.try_into().unwrap()) }Run
从其内存表示形式以原生字节序形式创建一个原生字节序整数值。
由于使用了目标平台的原生字节序,因此可移植代码可能希望酌情使用 from_be_bytes
或 from_le_bytes
。
Examples
let value = u8::from_ne_bytes(if cfg!(target_endian = "big") { [0x12] } else { [0x12] }); assert_eq!(value, 0x12);Run
从切片而不是数组开始时,可以使用容易出错的转换 API:
use std::convert::TryInto; fn read_ne_u8(input: &mut &[u8]) -> u8 { let (int_bytes, rest) = input.split_at(std::mem::size_of::<u8>()); *input = rest; u8::from_ne_bytes(int_bytes.try_into().unwrap()) }Run
👎 Deprecating in a future Rust version: replaced by the MIN
associated constant on this type
replaced by the MIN
associated constant on this type
新代码应优先使用
u8::MIN
instead.
返回此整数类型可以表示的最小值。
👎 Deprecating in a future Rust version: replaced by the MAX
associated constant on this type
replaced by the MAX
associated constant on this type
新代码应优先使用
u8::MAX
instead.
返回此整数类型可以表示的最大值。
使值的副本等效于其 ASCII 大写字母。
ASCII 字母 ‘a’ 到 ‘z’ 映射到 ‘A’ 到 ‘Z’,但是非 ASCII 字母不变。
要就地将值大写,请使用 make_ascii_uppercase
。
Examples
let lowercase_a = 97u8; assert_eq!(65, lowercase_a.to_ascii_uppercase());Run
以等效的 ASCII 小写形式复制值。
ASCII 字母 ‘A’ 到 ‘Z’ 映射到 ‘a’ 到 ‘z’,但是非 ASCII 字母不变。
要就地小写该值,请使用 make_ascii_lowercase
。
Examples
let uppercase_a = 65u8; assert_eq!(97, uppercase_a.to_ascii_lowercase());Run
将此值就地转换为其 ASCII 大写等效项。
ASCII 字母 ‘a’ 到 ‘z’ 映射到 ‘A’ 到 ‘Z’,但是非 ASCII 字母不变。
要返回新的大写值而不修改现有值,请使用 to_ascii_uppercase
。
Examples
let mut byte = b'a'; byte.make_ascii_uppercase(); assert_eq!(b'A', byte);Run
将此值就地转换为其 ASCII 小写等效项。
ASCII 字母 ‘A’ 到 ‘Z’ 映射到 ‘a’ 到 ‘z’,但是非 ASCII 字母不变。
要返回新的小写值而不修改现有值,请使用 to_ascii_lowercase
。
Examples
let mut byte = b'A'; byte.make_ascii_lowercase(); assert_eq!(b'a', byte);Run
检查值是否为 ASCII 字母字符:
- U+0041 ‘A’ ..= U+005A ‘Z’,或
- U+0061 ‘a’ ..= U+007A ‘z’。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(uppercase_a.is_ascii_alphabetic()); assert!(uppercase_g.is_ascii_alphabetic()); assert!(a.is_ascii_alphabetic()); assert!(g.is_ascii_alphabetic()); assert!(!zero.is_ascii_alphabetic()); assert!(!percent.is_ascii_alphabetic()); assert!(!space.is_ascii_alphabetic()); assert!(!lf.is_ascii_alphabetic()); assert!(!esc.is_ascii_alphabetic());Run
检查值是否为 ASCII 大写字符: U+0041 ‘A’ ..= U+005A ‘Z’。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(uppercase_a.is_ascii_uppercase()); assert!(uppercase_g.is_ascii_uppercase()); assert!(!a.is_ascii_uppercase()); assert!(!g.is_ascii_uppercase()); assert!(!zero.is_ascii_uppercase()); assert!(!percent.is_ascii_uppercase()); assert!(!space.is_ascii_uppercase()); assert!(!lf.is_ascii_uppercase()); assert!(!esc.is_ascii_uppercase());Run
检查值是否为 ASCII 小写字符: U+0061 ‘a’ ..= U+007A ‘z’。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(!uppercase_a.is_ascii_lowercase()); assert!(!uppercase_g.is_ascii_lowercase()); assert!(a.is_ascii_lowercase()); assert!(g.is_ascii_lowercase()); assert!(!zero.is_ascii_lowercase()); assert!(!percent.is_ascii_lowercase()); assert!(!space.is_ascii_lowercase()); assert!(!lf.is_ascii_lowercase()); assert!(!esc.is_ascii_lowercase());Run
检查值是否为 ASCII 字母数字字符:
- U+0041 ‘A’ ..= U+005A ‘Z’,或
- U+0061 ‘a’ ..= U+007A ‘z’,或
- U+0030 ‘0’ ..= U+0039 ‘9’。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(uppercase_a.is_ascii_alphanumeric()); assert!(uppercase_g.is_ascii_alphanumeric()); assert!(a.is_ascii_alphanumeric()); assert!(g.is_ascii_alphanumeric()); assert!(zero.is_ascii_alphanumeric()); assert!(!percent.is_ascii_alphanumeric()); assert!(!space.is_ascii_alphanumeric()); assert!(!lf.is_ascii_alphanumeric()); assert!(!esc.is_ascii_alphanumeric());Run
检查值是否为 ASCII 十进制数字: U+0030 ‘0’ ..= U+0039 ‘9’。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(!uppercase_a.is_ascii_digit()); assert!(!uppercase_g.is_ascii_digit()); assert!(!a.is_ascii_digit()); assert!(!g.is_ascii_digit()); assert!(zero.is_ascii_digit()); assert!(!percent.is_ascii_digit()); assert!(!space.is_ascii_digit()); assert!(!lf.is_ascii_digit()); assert!(!esc.is_ascii_digit());Run
检查值是否为 ASCII 十六进制数字:
- U+0030 ‘0’ ..= U+0039 ‘9’,或
- U+0041 ‘A’ ..= U+0046 ‘F’,或
- U+0061 ‘a’ ..= U+0066 ‘f’。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(uppercase_a.is_ascii_hexdigit()); assert!(!uppercase_g.is_ascii_hexdigit()); assert!(a.is_ascii_hexdigit()); assert!(!g.is_ascii_hexdigit()); assert!(zero.is_ascii_hexdigit()); assert!(!percent.is_ascii_hexdigit()); assert!(!space.is_ascii_hexdigit()); assert!(!lf.is_ascii_hexdigit()); assert!(!esc.is_ascii_hexdigit());Run
检查值是否为 ASCII 标点符号:
- U+0021 ..= U+002F
! " # $ % & ' ( ) * + , - . /
,或 - U+003A ..= U+0040
: ; < = > ? @
,或 - U+005B ..= U+0060`[] ^ _```,或
- U+007B ..= U+007E
{ | } ~
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(!uppercase_a.is_ascii_punctuation()); assert!(!uppercase_g.is_ascii_punctuation()); assert!(!a.is_ascii_punctuation()); assert!(!g.is_ascii_punctuation()); assert!(!zero.is_ascii_punctuation()); assert!(percent.is_ascii_punctuation()); assert!(!space.is_ascii_punctuation()); assert!(!lf.is_ascii_punctuation()); assert!(!esc.is_ascii_punctuation());Run
检查值是否为 ASCII 图形字符: U+0021 ‘!’ ..= U+007E ‘~’。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(uppercase_a.is_ascii_graphic()); assert!(uppercase_g.is_ascii_graphic()); assert!(a.is_ascii_graphic()); assert!(g.is_ascii_graphic()); assert!(zero.is_ascii_graphic()); assert!(percent.is_ascii_graphic()); assert!(!space.is_ascii_graphic()); assert!(!lf.is_ascii_graphic()); assert!(!esc.is_ascii_graphic());Run
检查值是否为 ASCII 空格字符: U+0020 空格,U+0009 水平制表符,U+000A 行进纸,U+000C 表格进纸或 U+000D 回车。
Rust 使用 WhatWG 基础标准的 ASCII 空格的定义。还有其他几种广泛使用的定义。 例如,POSIX 语言环境 包括 U+000B 垂直标签以及所有上述字符,但是 - 从相同的规格来看 -Bourne shell 中 “field splitting” 的默认规则 仅考虑空格,水平标签和 LINE FEED 作为空白。
如果要编写将处理现有文件格式的程序,请在使用此函数之前检查该格式的空格定义。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(!uppercase_a.is_ascii_whitespace()); assert!(!uppercase_g.is_ascii_whitespace()); assert!(!a.is_ascii_whitespace()); assert!(!g.is_ascii_whitespace()); assert!(!zero.is_ascii_whitespace()); assert!(!percent.is_ascii_whitespace()); assert!(space.is_ascii_whitespace()); assert!(lf.is_ascii_whitespace()); assert!(!esc.is_ascii_whitespace());Run
检查值是否为 ASCII 控制字符: U+0000 NUL ..= U+001F 单元分隔符,或 U+007F DELETE。 请注意,大多数 ASCII 空格字符是控制字符,而 SPACE 不是。
Examples
let uppercase_a = b'A'; let uppercase_g = b'G'; let a = b'a'; let g = b'g'; let zero = b'0'; let percent = b'%'; let space = b' '; let lf = b'\n'; let esc = 0x1b_u8; assert!(!uppercase_a.is_ascii_control()); assert!(!uppercase_g.is_ascii_control()); assert!(!a.is_ascii_control()); assert!(!g.is_ascii_control()); assert!(!zero.is_ascii_control()); assert!(!percent.is_ascii_control()); assert!(!space.is_ascii_control()); assert!(lf.is_ascii_control()); assert!(esc.is_ascii_control());Run
pub fn escape_ascii(&self) -> EscapeDefaultⓘNotable traits for EscapeDefaultimpl Iterator for EscapeDefault type Item = u8;
[src]
pub fn escape_ascii(&self) -> EscapeDefaultⓘNotable traits for EscapeDefaultimpl Iterator for EscapeDefault type Item = u8;
[src]impl Iterator for EscapeDefault type Item = u8;
返回生成 u8
的转义版本的迭代器,将其视为 ASCII 字符。
行为与 ascii::escape_default
相同。
Examples
#![feature(inherent_ascii_escape)] assert_eq!("0", b'0'.escape_ascii().to_string()); assert_eq!("\\t", b'\t'.escape_ascii().to_string()); assert_eq!("\\r", b'\r'.escape_ascii().to_string()); assert_eq!("\\n", b'\n'.escape_ascii().to_string()); assert_eq!("\\'", b'\''.escape_ascii().to_string()); assert_eq!("\\\"", b'"'.escape_ascii().to_string()); assert_eq!("\\\\", b'\\'.escape_ascii().to_string()); assert_eq!("\\x9d", b'\x9d'.escape_ascii().to_string());Run
Trait Implementations
执行 +=
操作。 Read more
执行 &=
操作。 Read more
执行 &=
操作。 Read more
执行 |=
操作。 Read more
执行 |=
操作。 Read more
执行 ^=
操作。 Read more
执行 ^=
操作。 Read more
执行 /=
操作。 Read more
type Err = ParseIntError
type Err = ParseIntError
可以从解析中返回的相关错误。
执行 *=
操作。 Read more
如果存在,则此方法返回 self
和 other
值之间的顺序。 Read more
执行 %=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 <<=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
执行 >>=
操作。 Read more
🔬 This is a nightly-only experimental API. (step_trait
#42168)
recently redesigned
返回通过将 self
count
的 successor 而获得的值。 Read more
🔬 This is a nightly-only experimental API. (step_trait
#42168)
recently redesigned
返回通过获取 self count
次的 predecessor 而获得的值。 Read more
🔬 This is a nightly-only experimental API. (step_trait
#42168)
recently redesigned
返回通过将 self
count
的 successor 而获得的值。 Read more
🔬 This is a nightly-only experimental API. (step_trait
#42168)
recently redesigned
返回通过获取 self count
次的 predecessor 而获得的值。 Read more
🔬 This is a nightly-only experimental API. (step_trait
#42168)
recently redesigned
返回从 start
到 end
所需的 successor 步骤的数量。 Read more
执行 -=
操作。 Read more