Module Mavryk_stdlib.Hex

type t = [
  1. | `Hex of string
]

Hexadecimal encoding.

TzHex defines hexadecimal encodings for characters, strings and Cstruct.t buffers.

The type var hexadecimal values.

Characters

val of_char : char -> char * char

of_char c is the the hexadecimal encoding of the character c.

val to_char : char -> char -> char option

to_char x y is the character corresponding to the xy hexadecimal encoding.

Returns None if x or y are not in the ranges '0'..'9', 'a'..'f', or 'A'..'F'.

Strings

val of_string : ?ignore:char list -> string -> t

of_string s is the hexadecimal representation of the binary string s. If ignore is set, skip the characters in the list when converting. Eg of_string ~ignore:[' '] "a f". The default value of ignore is []).

val to_string : t -> string option

to_string t is the binary string s such that of_string s is t.

Returns None if t contains a character that is not in the range '0'..'9', 'a'..'f', or 'A'..'F'.

Bytes

val of_bytes : ?ignore:char list -> bytes -> t

of_bytes s is the hexadecimal representation of the binary string s. If ignore is set, skip the characters in the list when converting. Eg of_bytes ~ignore:[' '] "a f". The default value of ignore is []).

val to_bytes : t -> bytes option

to_bytes t is the binary string s such that of_bytes s is t.

Returns None if t contains a character that is not in the range '0'..'9', 'a'..'f', or 'A'..'F'.

val to_bytes_exn : t -> bytes

to_bytes_exn t is the binary string s such that of_bytes s is t.

  • raises Invalid_argument

    instead of returning None.

Debugging

val hexdump_s : ?print_row_numbers:bool -> ?print_chars:bool -> t -> string

Same as hexdump except returns a string.

Pretty printing

val pp : Stdlib.Format.formatter -> t -> unit

pp fmt t will output a human-readable hex representation of t to the formatter fmt.

val show : t -> string

show t will return a human-readable hex representation of t as a string.