Scroll to navigation

Char(3o) OCaml library Char(3o)

NAME

Char - Character operations.

Module

Module Char

Documentation

Module Char
: sig end

Character operations.

Characters are the elements of string and bytes values. Characters represent bytes, that is an integer in the range [ 0x00 ; 0xFF ].

Some of the functions of this module interpret the characters in the range [ 0x00 ; 0x7F ] as the characters of the ASCII character set.

Characters

type t = char

An alias for the type of characters.

val code : char -> int

Return the integer code of the argument.

val chr : int -> char

Return the character with the given integer code.

Raises Invalid_argument if the argument is outside the range [ 0x00 ; 0xFF ].

val escaped : char -> string

Return a string representing the given character, with special characters escaped following the lexical conventions of OCaml. All characters outside the ASCII printable range [ 0x20 ; 0x7E ] are escaped, as well as backslash, double-quote, and single-quote.

Predicates and comparisons

See also the Char.Ascii module.

val compare : t -> t -> int

The comparison function for characters, with the same specification as compare . Along with the type t , this function compare allows the module Char to be passed as argument to the functors Set.Make and Map.Make .

val equal : t -> t -> bool

The equal function for chars.

Since 4.03

ASCII characters

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 .

Since 5.4

val lowercase_ascii : char -> char

Use the equivalent Char.Ascii.lowercase instead.

Since 4.03

val uppercase_ascii : char -> char

Use the equivalent Char.Ascii.uppercase instead.

Since 4.03

Hashing

val seeded_hash : int -> t -> int

A seeded hash function for characters, with the same output value as Hashtbl.seeded_hash . This function allows this module to be passed as argument to the functor Hashtbl.MakeSeeded .

Since 5.1

val hash : t -> int

An unseeded hash function for characters, with the same output value as Hashtbl.hash . This function allows this module to be passed as argument to the functor Hashtbl.Make .

Since 5.1

2025-10-12 OCamldoc