module Ascii:sig..end
ASCII 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.
val min : charmin is '\x00'.
val max : charmax is '\x7F'.
val is_valid : char -> boolis_valid c is true if and only if c is an ASCII character,
that is a byte in the range [Char.Ascii.min;Char.Ascii.max].
val is_upper : char -> boolis_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].
val is_lower : char -> boolis_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].
val is_letter : char -> boolis_letter c is Char.Ascii.is_lower c || Char.Ascii.is_upper c.
val is_alphanum : char -> boolis_alphanum c is Char.Ascii.is_letter c || Char.Ascii.is_digit c.
val is_white : char -> boolis_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),
val is_blank : char -> boolis_blank c is true if and only if c is an ASCII blank character,
that is either space ' ' (0x20) or tab '\t' (0x09).
val is_graphic : char -> boolis_graphic c is true if and only if c is an ASCII graphic
character, that is a byte in the range [0x21;0x7E].
val is_print : char -> boolis_print c is Char.Ascii.is_graphic c || c = ' '.
val is_control : char -> boolis_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.
val is_digit : char -> boolis_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].
val digit_to_int : char -> intdigit_to_int c is the numerical value of a digit
that satisfies Char.Ascii.is_digit. Raises Invalid_argument if
Char.Ascii.is_digit c is false.
val digit_of_int : int -> chardigit_of_int n is an ASCII decimal digit for the decimal
value abs (n mod 10).
val is_hex_digit : char -> boolis_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].
val hex_digit_to_int : char -> inthex_digit_to_int c is the numerical value of a digit that
satisfies Char.Ascii.is_hex_digit. Raises Invalid_argument if
Char.Ascii.is_hex_digit c is false.
val lower_hex_digit_of_int : int -> charlower_hex_digit_of_int n is a lowercase ASCII hexadecimal digit for
the hexadecimal value abs (n mod 16).
val upper_hex_digit_of_int : int -> charupper_hex_digit_of_int n is an uppercase ASCII hexadecimal
digit for the hexadecimal value abs (n mod 16).
val uppercase : char -> charuppercase c is c with ASCII characters 'a' to 'z' respectively
mapped to uppercase characters 'A' to 'Z'. Other characters are left
untouched.
val lowercase : char -> charlowercase c is c with ASCII characters 'A' to 'Z' respectively
mapped to lowercase characters 'a' to 'z'. Other characters are
left untouched.