# Trait std::ascii::AsciiExt [−] [src]

    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);
    }

Extension methods for ASCII-subset only operations on string slices.

## Associated Types

### `type Owned`

Container type for copied ASCII characters.

## Required Methods

### `fn is_ascii(&self) -> bool`

Checks if within the ASCII range.

# Examples

fn main() { use std::ascii::AsciiExt; let ascii = 'a'; let utf8 = '❤'; assert_eq!(true, ascii.is_ascii()); assert_eq!(false, utf8.is_ascii()) }

    use std::ascii::AsciiExt;

    let ascii = 'a';
    let utf8 = '❤';

    assert_eq!(true, ascii.is_ascii());
    assert_eq!(false, utf8.is_ascii())

### `fn to_ascii_uppercase(&self) -> Self::Owned`

Makes a copy of the string in ASCII upper case.

ASCII letters 'a' to 'z' are mapped to 'A' to 'Z', but non-ASCII letters are unchanged.

# Examples

fn main() { use std::ascii::AsciiExt; let ascii = 'a'; let utf8 = '❤'; assert_eq!('A', ascii.to_ascii_uppercase()); assert_eq!('❤', utf8.to_ascii_uppercase()); }

    use std::ascii::AsciiExt;

    let ascii = 'a';
    let utf8 = '❤';

    assert_eq!('A', ascii.to_ascii_uppercase());
    assert_eq!('❤', utf8.to_ascii_uppercase());

### `fn to_ascii_lowercase(&self) -> Self::Owned`

Makes a copy of the string in ASCII lower case.

ASCII letters 'A' to 'Z' are mapped to 'a' to 'z', but non-ASCII letters are unchanged.

# Examples

fn main() { use std::ascii::AsciiExt; let ascii = 'A'; let utf8 = '❤'; assert_eq!('a', ascii.to_ascii_lowercase()); assert_eq!('❤', utf8.to_ascii_lowercase()); }

    use std::ascii::AsciiExt;

    let ascii = 'A';
    let utf8 = '❤';

    assert_eq!('a', ascii.to_ascii_lowercase());
    assert_eq!('❤', utf8.to_ascii_lowercase());

### `fn eq_ignore_ascii_case(&self, other: &Self) -> bool`

Checks that two strings are an ASCII case-insensitive match.

Same as `to_ascii_lowercase(a) == to_ascii_lowercase(b)`, but without allocating and copying temporary strings.

# Examples

fn main() { use std::ascii::AsciiExt; let ascii1 = 'A'; let ascii2 = 'a'; let ascii3 = 'A'; let ascii4 = 'z'; assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii2)); assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii3)); assert_eq!(false, ascii1.eq_ignore_ascii_case(&ascii4)); }

    use std::ascii::AsciiExt;

    let ascii1 = 'A';
    let ascii2 = 'a';
    let ascii3 = 'A';
    let ascii4 = 'z';

    assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii2));
    assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii3));
    assert_eq!(false, ascii1.eq_ignore_ascii_case(&ascii4));

### `fn make_ascii_uppercase(&mut self)`

Unstable (`ascii` #27809)

Converts this type to its ASCII upper case equivalent in-place.

See `to_ascii_uppercase` for more information.

# Examples

#![feature(ascii)] fn main() { use std::ascii::AsciiExt; let mut ascii = 'a'; ascii.make_ascii_uppercase(); assert_eq!('A', ascii); }

    #![feature(ascii)]

    use std::ascii::AsciiExt;

    let mut ascii = 'a';

    ascii.make_ascii_uppercase();

    assert_eq!('A', ascii);

### `fn make_ascii_lowercase(&mut self)`

Unstable (`ascii` #27809)

Converts this type to its ASCII lower case equivalent in-place.

See `to_ascii_lowercase` for more information.

# Examples

#![feature(ascii)] fn main() { use std::ascii::AsciiExt; let mut ascii = 'A'; ascii.make_ascii_lowercase(); assert_eq!('a', ascii); }

    #![feature(ascii)]

    use std::ascii::AsciiExt;

    let mut ascii = 'A';

    ascii.make_ascii_lowercase();

    assert_eq!('a', ascii);

## Implementors

- `impl AsciiExt for str`
- `impl AsciiExt for [u8]`
- `impl AsciiExt for u8`
- `impl AsciiExt for char`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize`)