pub enum Ascii {}Expand description
Namespace for ASCII character and code point helpers.
Implementations§
Source§impl Ascii
impl Ascii
Sourcepub const MAX_FOLDING_COUNT: usize = 4
pub const MAX_FOLDING_COUNT: usize = 4
Maximum number of ASCII characters emitted by Self::fold.
Sourcepub const START_OF_HEADER_CHAR: char = '\u{0001}'
pub const START_OF_HEADER_CHAR: char = '\u{0001}'
ASCII SOH.
Sourcepub const START_OF_HEADER_BYTE: u8
pub const START_OF_HEADER_BYTE: u8
ASCII SOH as a byte.
Sourcepub const START_OF_TEXT_CHAR: char = '\u{0002}'
pub const START_OF_TEXT_CHAR: char = '\u{0002}'
ASCII STX.
Sourcepub const START_OF_TEXT_BYTE: u8
pub const START_OF_TEXT_BYTE: u8
ASCII STX as a byte.
Sourcepub const END_OF_TEXT_CHAR: char = '\u{0003}'
pub const END_OF_TEXT_CHAR: char = '\u{0003}'
ASCII ETX.
Sourcepub const END_OF_TEXT_BYTE: u8
pub const END_OF_TEXT_BYTE: u8
ASCII ETX as a byte.
Sourcepub const START_OF_TRANSMISSION_CHAR: char = '\u{0004}'
pub const START_OF_TRANSMISSION_CHAR: char = '\u{0004}'
ASCII EOT.
Sourcepub const START_OF_TRANSMISSION_BYTE: u8
pub const START_OF_TRANSMISSION_BYTE: u8
ASCII EOT as a byte.
Sourcepub const ENQUIRY_CHAR: char = '\u{0005}'
pub const ENQUIRY_CHAR: char = '\u{0005}'
ASCII ENQ.
Sourcepub const ENQUIRY_BYTE: u8
pub const ENQUIRY_BYTE: u8
ASCII ENQ as a byte.
Sourcepub const ACKNOWLEDGMENT_CHAR: char = '\u{0006}'
pub const ACKNOWLEDGMENT_CHAR: char = '\u{0006}'
ASCII ACK.
Sourcepub const ACKNOWLEDGMENT_BYTE: u8
pub const ACKNOWLEDGMENT_BYTE: u8
ASCII ACK as a byte.
Sourcepub const BACKSPACE_CHAR: char = '\u{0008}'
pub const BACKSPACE_CHAR: char = '\u{0008}'
ASCII BS.
Sourcepub const BACKSPACE_BYTE: u8
pub const BACKSPACE_BYTE: u8
ASCII BS as a byte.
Sourcepub const HORIZONTAL_TAB_CHAR: char = '\t'
pub const HORIZONTAL_TAB_CHAR: char = '\t'
ASCII HT.
Sourcepub const HORIZONTAL_TAB_BYTE: u8
pub const HORIZONTAL_TAB_BYTE: u8
ASCII HT as a byte.
Sourcepub const LINE_FEED_CHAR: char = '\n'
pub const LINE_FEED_CHAR: char = '\n'
ASCII LF.
Sourcepub const LINE_FEED_BYTE: u8
pub const LINE_FEED_BYTE: u8
ASCII LF as a byte.
Sourcepub const VERTICAL_TAB_CHAR: char = '\u{000b}'
pub const VERTICAL_TAB_CHAR: char = '\u{000b}'
ASCII VT.
Sourcepub const VERTICAL_TAB_BYTE: u8
pub const VERTICAL_TAB_BYTE: u8
ASCII VT as a byte.
Sourcepub const FORM_FEED_CHAR: char = '\u{000c}'
pub const FORM_FEED_CHAR: char = '\u{000c}'
ASCII FF.
Sourcepub const FORM_FEED_BYTE: u8
pub const FORM_FEED_BYTE: u8
ASCII FF as a byte.
Sourcepub const CARRIAGE_RETURN_CHAR: char = '\r'
pub const CARRIAGE_RETURN_CHAR: char = '\r'
ASCII CR.
Sourcepub const CARRIAGE_RETURN_BYTE: u8
pub const CARRIAGE_RETURN_BYTE: u8
ASCII CR as a byte.
Sourcepub const SHIFT_OUT_CHAR: char = '\u{000e}'
pub const SHIFT_OUT_CHAR: char = '\u{000e}'
ASCII SO.
Sourcepub const SHIFT_OUT_BYTE: u8
pub const SHIFT_OUT_BYTE: u8
ASCII SO as a byte.
Sourcepub const SHIFT_IN_CHAR: char = '\u{000f}'
pub const SHIFT_IN_CHAR: char = '\u{000f}'
ASCII SI.
Sourcepub const SHIFT_IN_BYTE: u8
pub const SHIFT_IN_BYTE: u8
ASCII SI as a byte.
Sourcepub const DATA_LINK_ESCAPE_CHAR: char = '\u{0010}'
pub const DATA_LINK_ESCAPE_CHAR: char = '\u{0010}'
ASCII DLE.
Sourcepub const DATA_LINK_ESCAPE_BYTE: u8
pub const DATA_LINK_ESCAPE_BYTE: u8
ASCII DLE as a byte.
Sourcepub const DEVICE_CONTROL_1_CHAR: char = '\u{0011}'
pub const DEVICE_CONTROL_1_CHAR: char = '\u{0011}'
ASCII DC1.
Sourcepub const DEVICE_CONTROL_1_BYTE: u8
pub const DEVICE_CONTROL_1_BYTE: u8
ASCII DC1 as a byte.
Sourcepub const DEVICE_CONTROL_2_CHAR: char = '\u{0012}'
pub const DEVICE_CONTROL_2_CHAR: char = '\u{0012}'
ASCII DC2.
Sourcepub const DEVICE_CONTROL_2_BYTE: u8
pub const DEVICE_CONTROL_2_BYTE: u8
ASCII DC2 as a byte.
Sourcepub const DEVICE_CONTROL_3_CHAR: char = '\u{0013}'
pub const DEVICE_CONTROL_3_CHAR: char = '\u{0013}'
ASCII DC3.
Sourcepub const DEVICE_CONTROL_3_BYTE: u8
pub const DEVICE_CONTROL_3_BYTE: u8
ASCII DC3 as a byte.
Sourcepub const DEVICE_CONTROL_4_CHAR: char = '\u{0014}'
pub const DEVICE_CONTROL_4_CHAR: char = '\u{0014}'
ASCII DC4.
Sourcepub const DEVICE_CONTROL_4_BYTE: u8
pub const DEVICE_CONTROL_4_BYTE: u8
ASCII DC4 as a byte.
Sourcepub const NEGATIVE_ACKNOWLEDGEMENT_CHAR: char = '\u{0015}'
pub const NEGATIVE_ACKNOWLEDGEMENT_CHAR: char = '\u{0015}'
ASCII NAK.
Sourcepub const NEGATIVE_ACKNOWLEDGEMENT_BYTE: u8
pub const NEGATIVE_ACKNOWLEDGEMENT_BYTE: u8
ASCII NAK as a byte.
Sourcepub const SYNCHRONOUS_IDLE_CHAR: char = '\u{0016}'
pub const SYNCHRONOUS_IDLE_CHAR: char = '\u{0016}'
ASCII SYN.
Sourcepub const SYNCHRONOUS_IDLE_BYTE: u8
pub const SYNCHRONOUS_IDLE_BYTE: u8
ASCII SYN as a byte.
Sourcepub const END_OF_TRANS_BLOCK_CHAR: char = '\u{0017}'
pub const END_OF_TRANS_BLOCK_CHAR: char = '\u{0017}'
ASCII ETB.
Sourcepub const END_OF_TRANS_BLOCK_BYTE: u8
pub const END_OF_TRANS_BLOCK_BYTE: u8
ASCII ETB as a byte.
Sourcepub const CANCEL_CHAR: char = '\u{0018}'
pub const CANCEL_CHAR: char = '\u{0018}'
ASCII CAN.
Sourcepub const CANCEL_BYTE: u8
pub const CANCEL_BYTE: u8
ASCII CAN as a byte.
Sourcepub const END_OF_MEDIUM_CHAR: char = '\u{0019}'
pub const END_OF_MEDIUM_CHAR: char = '\u{0019}'
ASCII EM.
Sourcepub const END_OF_MEDIUM_BYTE: u8
pub const END_OF_MEDIUM_BYTE: u8
ASCII EM as a byte.
Sourcepub const SUBSTITUTE_CHAR: char = '\u{001a}'
pub const SUBSTITUTE_CHAR: char = '\u{001a}'
ASCII SUB.
Sourcepub const SUBSTITUTE_BYTE: u8
pub const SUBSTITUTE_BYTE: u8
ASCII SUB as a byte.
Sourcepub const ESCAPE_CHAR: char = '\u{001b}'
pub const ESCAPE_CHAR: char = '\u{001b}'
ASCII ESC.
Sourcepub const ESCAPE_BYTE: u8
pub const ESCAPE_BYTE: u8
ASCII ESC as a byte.
Sourcepub const FILE_SEPARATOR_CHAR: char = '\u{001c}'
pub const FILE_SEPARATOR_CHAR: char = '\u{001c}'
ASCII FS.
Sourcepub const FILE_SEPARATOR_BYTE: u8
pub const FILE_SEPARATOR_BYTE: u8
ASCII FS as a byte.
Sourcepub const GROUP_SEPARATOR_CHAR: char = '\u{001d}'
pub const GROUP_SEPARATOR_CHAR: char = '\u{001d}'
ASCII GS.
Sourcepub const GROUP_SEPARATOR_BYTE: u8
pub const GROUP_SEPARATOR_BYTE: u8
ASCII GS as a byte.
Sourcepub const RECORD_SEPARATOR_CHAR: char = '\u{001e}'
pub const RECORD_SEPARATOR_CHAR: char = '\u{001e}'
ASCII RS.
Sourcepub const RECORD_SEPARATOR_BYTE: u8
pub const RECORD_SEPARATOR_BYTE: u8
ASCII RS as a byte.
Sourcepub const UNIT_SEPARATOR_CHAR: char = '\u{001f}'
pub const UNIT_SEPARATOR_CHAR: char = '\u{001f}'
ASCII US.
Sourcepub const UNIT_SEPARATOR_BYTE: u8
pub const UNIT_SEPARATOR_BYTE: u8
ASCII US as a byte.
Sourcepub const DELETE_CHAR: char = '\u{007f}'
pub const DELETE_CHAR: char = '\u{007f}'
ASCII DEL.
Sourcepub const DELETE_BYTE: u8
pub const DELETE_BYTE: u8
ASCII DEL as a byte.
Sourcepub const SPACE_CHAR: char = ' '
pub const SPACE_CHAR: char = ' '
ASCII space.
Sourcepub const SPACE_BYTE: u8
pub const SPACE_BYTE: u8
ASCII space as a byte.
Sourcepub const EXCLAMATION_CHAR: char = '!'
pub const EXCLAMATION_CHAR: char = '!'
ASCII exclamation mark.
Sourcepub const EXCLAMATION_BYTE: u8
pub const EXCLAMATION_BYTE: u8
ASCII exclamation mark as a byte.
Sourcepub const DOUBLE_QUOTE_CHAR: char = '"'
pub const DOUBLE_QUOTE_CHAR: char = '"'
ASCII double quote.
Sourcepub const DOUBLE_QUOTE_BYTE: u8
pub const DOUBLE_QUOTE_BYTE: u8
ASCII double quote as a byte.
Sourcepub const SHARP_CHAR: char = '#'
pub const SHARP_CHAR: char = '#'
ASCII number sign.
Sourcepub const SHARP_BYTE: u8
pub const SHARP_BYTE: u8
ASCII number sign as a byte.
Sourcepub const DOLLAR_CHAR: char = '$'
pub const DOLLAR_CHAR: char = '$'
ASCII dollar sign.
Sourcepub const DOLLAR_BYTE: u8
pub const DOLLAR_BYTE: u8
ASCII dollar sign as a byte.
Sourcepub const PERCENT_CHAR: char = '%'
pub const PERCENT_CHAR: char = '%'
ASCII percent sign.
Sourcepub const PERCENT_BYTE: u8
pub const PERCENT_BYTE: u8
ASCII percent sign as a byte.
Sourcepub const AMPERSAND_CHAR: char = '&'
pub const AMPERSAND_CHAR: char = '&'
ASCII ampersand.
Sourcepub const AMPERSAND_BYTE: u8
pub const AMPERSAND_BYTE: u8
ASCII ampersand as a byte.
Sourcepub const BACKSLASH_CHAR: char = '\\'
pub const BACKSLASH_CHAR: char = '\\'
ASCII backslash.
Sourcepub const BACKSLASH_BYTE: u8
pub const BACKSLASH_BYTE: u8
ASCII backslash as a byte.
Sourcepub const SINGLE_QUOTE_CHAR: char = '\''
pub const SINGLE_QUOTE_CHAR: char = '\''
ASCII single quote.
Sourcepub const SINGLE_QUOTE_BYTE: u8
pub const SINGLE_QUOTE_BYTE: u8
ASCII single quote as a byte.
Sourcepub const BACK_QUOTE_CHAR: char = '`'
pub const BACK_QUOTE_CHAR: char = '`'
ASCII back quote.
Sourcepub const BACK_QUOTE_BYTE: u8
pub const BACK_QUOTE_BYTE: u8
ASCII back quote as a byte.
Sourcepub const COMMA_CHAR: char = ','
pub const COMMA_CHAR: char = ','
ASCII comma.
Sourcepub const COMMA_BYTE: u8
pub const COMMA_BYTE: u8
ASCII comma as a byte.
Sourcepub const PERIOD_CHAR: char = '.'
pub const PERIOD_CHAR: char = '.'
ASCII period.
Sourcepub const PERIOD_BYTE: u8
pub const PERIOD_BYTE: u8
ASCII period as a byte.
Sourcepub const MIN_PRINTABLE_CHAR: char = ' '
pub const MIN_PRINTABLE_CHAR: char = ' '
Minimum printable ASCII character.
Sourcepub const MIN_PRINTABLE_BYTE: u8
pub const MIN_PRINTABLE_BYTE: u8
Minimum printable ASCII character as a byte.
Sourcepub const MAX_PRINTABLE_CHAR: char = '~'
pub const MAX_PRINTABLE_CHAR: char = '~'
Maximum printable ASCII character.
Sourcepub const MAX_PRINTABLE_BYTE: u8
pub const MAX_PRINTABLE_BYTE: u8
Maximum printable ASCII character as a byte.
Sourcepub const PRINTABLE_CHARS: [char; 95]
pub const PRINTABLE_CHARS: [char; 95]
All printable ASCII characters.
Sourcepub const PRINTABLE_BYTES: [u8; 95]
pub const PRINTABLE_BYTES: [u8; 95]
All printable ASCII characters as bytes.
Sourcepub const LETTER_CHARS: [char; 52]
pub const LETTER_CHARS: [char; 52]
All ASCII letter characters.
Sourcepub const LETTER_BYTES: [u8; 52]
pub const LETTER_BYTES: [u8; 52]
All ASCII letter characters as bytes.
Sourcepub const LETTER_DIGIT_CHARS: [char; 62]
pub const LETTER_DIGIT_CHARS: [char; 62]
All ASCII letter and digit characters.
Sourcepub const LETTER_DIGIT_BYTES: [u8; 62]
pub const LETTER_DIGIT_BYTES: [u8; 62]
All ASCII letter and digit characters as bytes.
Sourcepub const DIGIT_CHARS: [char; 10]
pub const DIGIT_CHARS: [char; 10]
ASCII digit characters.
Sourcepub const DIGIT_BYTES: [u8; 10]
pub const DIGIT_BYTES: [u8; 10]
ASCII digit bytes.
Sourcepub const LOWERCASE_HEX_DIGIT_CHARS: [char; 16]
pub const LOWERCASE_HEX_DIGIT_CHARS: [char; 16]
Lowercase ASCII hexadecimal digit characters.
Sourcepub const LOWERCASE_HEX_DIGIT_BYTES: [u8; 16]
pub const LOWERCASE_HEX_DIGIT_BYTES: [u8; 16]
Lowercase ASCII hexadecimal digit bytes.
Sourcepub const UPPERCASE_HEX_DIGIT_CHARS: [char; 16]
pub const UPPERCASE_HEX_DIGIT_CHARS: [char; 16]
Uppercase ASCII hexadecimal digit characters.
Sourcepub const UPPERCASE_HEX_DIGIT_BYTES: [u8; 16]
pub const UPPERCASE_HEX_DIGIT_BYTES: [u8; 16]
Uppercase ASCII hexadecimal digit bytes.
Sourcepub const fn is_ascii_byte(ch: u8) -> bool
pub const fn is_ascii_byte(ch: u8) -> bool
Sourcepub const fn is_ascii_char(ch: char) -> bool
pub const fn is_ascii_char(ch: char) -> bool
Sourcepub const fn is_ascii_code_point(ch: u32) -> bool
pub const fn is_ascii_code_point(ch: u32) -> bool
Sourcepub const fn is_whitespace_byte(ch: u8) -> bool
pub const fn is_whitespace_byte(ch: u8) -> bool
Sourcepub const fn is_whitespace_char(ch: char) -> bool
pub const fn is_whitespace_char(ch: char) -> bool
Sourcepub const fn is_whitespace_code_point(ch: u32) -> bool
pub const fn is_whitespace_code_point(ch: u32) -> bool
Sourcepub const fn is_letter_byte(ch: u8) -> bool
pub const fn is_letter_byte(ch: u8) -> bool
Sourcepub const fn is_letter_char(ch: char) -> bool
pub const fn is_letter_char(ch: char) -> bool
Sourcepub const fn is_letter_code_point(ch: u32) -> bool
pub const fn is_letter_code_point(ch: u32) -> bool
Sourcepub const fn is_uppercase_letter_byte(ch: u8) -> bool
pub const fn is_uppercase_letter_byte(ch: u8) -> bool
Sourcepub const fn is_uppercase_letter_char(ch: char) -> bool
pub const fn is_uppercase_letter_char(ch: char) -> bool
Sourcepub const fn is_uppercase_letter_code_point(ch: u32) -> bool
pub const fn is_uppercase_letter_code_point(ch: u32) -> bool
Sourcepub const fn is_lowercase_letter_byte(ch: u8) -> bool
pub const fn is_lowercase_letter_byte(ch: u8) -> bool
Sourcepub const fn is_lowercase_letter_char(ch: char) -> bool
pub const fn is_lowercase_letter_char(ch: char) -> bool
Sourcepub const fn is_lowercase_letter_code_point(ch: u32) -> bool
pub const fn is_lowercase_letter_code_point(ch: u32) -> bool
Sourcepub const fn is_digit_byte(ch: u8) -> bool
pub const fn is_digit_byte(ch: u8) -> bool
Sourcepub const fn is_digit_char(ch: char) -> bool
pub const fn is_digit_char(ch: char) -> bool
Sourcepub const fn is_digit_code_point(ch: u32) -> bool
pub const fn is_digit_code_point(ch: u32) -> bool
Sourcepub const fn is_hex_digit_byte(ch: u8) -> bool
pub const fn is_hex_digit_byte(ch: u8) -> bool
Sourcepub const fn is_hex_digit_char(ch: char) -> bool
pub const fn is_hex_digit_char(ch: char) -> bool
Sourcepub const fn is_hex_digit_code_point(ch: u32) -> bool
pub const fn is_hex_digit_code_point(ch: u32) -> bool
Sourcepub const fn is_octal_digit_byte(ch: u8) -> bool
pub const fn is_octal_digit_byte(ch: u8) -> bool
Sourcepub const fn is_octal_digit_char(ch: char) -> bool
pub const fn is_octal_digit_char(ch: char) -> bool
Sourcepub const fn is_octal_digit_code_point(ch: u32) -> bool
pub const fn is_octal_digit_code_point(ch: u32) -> bool
Sourcepub const fn is_letter_or_digit_byte(ch: u8) -> bool
pub const fn is_letter_or_digit_byte(ch: u8) -> bool
Sourcepub const fn is_letter_or_digit_char(ch: char) -> bool
pub const fn is_letter_or_digit_char(ch: char) -> bool
Sourcepub const fn is_letter_or_digit_code_point(ch: u32) -> bool
pub const fn is_letter_or_digit_code_point(ch: u32) -> bool
Sourcepub const fn is_printable_byte(ch: u8) -> bool
pub const fn is_printable_byte(ch: u8) -> bool
Sourcepub const fn is_printable_char(ch: char) -> bool
pub const fn is_printable_char(ch: char) -> bool
Sourcepub const fn is_printable_code_point(ch: u32) -> bool
pub const fn is_printable_code_point(ch: u32) -> bool
Sourcepub const fn is_control_byte(ch: u8) -> bool
pub const fn is_control_byte(ch: u8) -> bool
Sourcepub const fn is_control_char(ch: char) -> bool
pub const fn is_control_char(ch: char) -> bool
Sourcepub const fn is_control_code_point(ch: u32) -> bool
pub const fn is_control_code_point(ch: u32) -> bool
Sourcepub const fn equals_ignore_case_byte(ch1: u8, ch2: u8) -> bool
pub const fn equals_ignore_case_byte(ch1: u8, ch2: u8) -> bool
Sourcepub const fn equals_ignore_case_char(ch1: char, ch2: char) -> bool
pub const fn equals_ignore_case_char(ch1: char, ch2: char) -> bool
Sourcepub const fn equals_ignore_case_code_point(ch1: u32, ch2: u32) -> bool
pub const fn equals_ignore_case_code_point(ch1: u32, ch2: u32) -> bool
Compares two raw code points while ignoring ASCII case.
§Parameters
ch1: The first raw code point value to compare.ch2: The second raw code point value to compare.
§Returns
Returns true if the values are equal after converting ASCII uppercase
letters to lowercase. Values outside ASCII are compared unchanged.
Sourcepub const fn byte_to_uppercase(ch: u8) -> u8
pub const fn byte_to_uppercase(ch: u8) -> u8
Sourcepub const fn char_to_uppercase(ch: char) -> char
pub const fn char_to_uppercase(ch: char) -> char
Sourcepub const fn code_point_to_uppercase(ch: u32) -> u32
pub const fn code_point_to_uppercase(ch: u32) -> u32
Sourcepub const fn byte_to_lowercase(ch: u8) -> u8
pub const fn byte_to_lowercase(ch: u8) -> u8
Sourcepub const fn char_to_lowercase(ch: char) -> char
pub const fn char_to_lowercase(ch: char) -> char
Sourcepub const fn code_point_to_lowercase(ch: u32) -> u32
pub const fn code_point_to_lowercase(ch: u32) -> u32
Sourcepub const fn byte_to_digit(ch: u8) -> Option<u8>
pub const fn byte_to_digit(ch: u8) -> Option<u8>
Sourcepub const fn char_to_digit(ch: char) -> Option<u8>
pub const fn char_to_digit(ch: char) -> Option<u8>
Sourcepub const fn code_point_to_digit(ch: u32) -> Option<u8>
pub const fn code_point_to_digit(ch: u32) -> Option<u8>
Sourcepub const fn byte_to_hex_digit(ch: u8) -> Option<u8>
pub const fn byte_to_hex_digit(ch: u8) -> Option<u8>
Sourcepub const fn char_to_hex_digit(ch: char) -> Option<u8>
pub const fn char_to_hex_digit(ch: char) -> Option<u8>
Sourcepub const fn code_point_to_hex_digit(ch: u32) -> Option<u8>
pub const fn code_point_to_hex_digit(ch: u32) -> Option<u8>
Sourcepub fn fold(ch: char, result: &mut [char], offset: usize) -> usize
pub fn fold(ch: char, result: &mut [char], offset: usize) -> usize
Folds a Unicode character to its ASCII replacement.
§Parameters
ch: The character to fold.result: The caller-provided output buffer that receives the folded characters.offset: The starting index inresultat which folded characters are written.
§Returns
Returns the number of characters written to result starting at
offset. ASCII characters and unmapped non-ASCII characters write one
character. Mapped characters write up to Self::MAX_FOLDING_COUNT ASCII
characters.
§Panics
Panics if result has fewer than Self::MAX_FOLDING_COUNT writable slots
after offset.