Char.AsciiASCII character set support.
These functions give meaning to the integers [0x00;0x7F] of the ASCII character set.
Since the UTF-8 encoding of Unicode has the same encoding and character semantics (U+0000 to U+001F) for these bytes, the functions can be safely used on elements of UTF-8 encoded string and bytes values. However the functions only deal with ASCII related matters. For example the notion of Unicode whitespace is much larger than the ASCII whitespace determined by Char.Ascii.is_white.
is_upper c is true if and only if c is an ASCII uppercase letter 'A' to 'Z', that is a byte in the range [0x41;0x5A].
is_lower c is true if and only if c is an ASCII lowercase letter 'a' to 'z', that is a byte in the range [0x61;0x7A].
is_white c is true if and only if c is an ASCII white space character, that is one of tab '\t' (0x09), newline '\n' (0x0A), vertical tab (0x0B), form feed (0x0C), carriage return '\r' (0x0D) or space ' ' (0x20),
is_blank c is true if and only if c is an ASCII blank character, that is either space ' ' (0x20) or tab '\t' (0x09).
is_graphic c is true if and only if c is an ASCII graphic character, that is a byte in the range [0x21;0x7E].
is_print c is is_graphic c || c = ' '.
is_control c is true if and only if c is an ASCII control character, that is a byte in the range [0x00;0x1F] or 0x7F.
is_digit c is true if and only if c is an ASCII decimal digit '0' to '9', that is a byte in the range [0x30;0x39].
digit_of_int n is an ASCII decimal digit for the decimal value abs (n mod 10).
is_hex_digit c is true if and only if c is an ASCII hexadecimal digit '0' to '9', 'a' to 'f' or 'A' to 'F', that is a byte in one of the ranges [0x30;0x39], [0x41;0x46], [0x61;0x66].
hex_digit_to_int c is the numerical value of a digit that satisfies is_hex_digit. Raises Invalid_argument if is_hex_digit c is false.
lower_hex_digit_of_int n is a lowercase ASCII hexadecimal digit for the hexadecimal value abs (n mod 16).
upper_hex_digit_of_int n is an uppercase ASCII hexadecimal digit for the hexadecimal value abs (n mod 16).
uppercase c is c with ASCII characters 'a' to 'z' respectively mapped to uppercase characters 'A' to 'Z'. Other characters are left untouched.