Encoding

`sig type t = string val equal : Encoding.t -> Encoding.t -> bool val system : Encoding.t type code_point = int val recode_string : src:Encoding.t -> dst:Encoding.t -> string -> string type decoder val decoder : Encoding.t -> Encoding.decoder type decoding_result = Dec_ok of Encoding.code_point * int | Dec_need_more | Dec_error val decode : Encoding.decoder -> string -> int -> int -> Encoding.decoding_result type encoder val encoder : Encoding.t -> Encoding.encoder type encoding_result = Enc_ok of int | Enc_need_more | Enc_error val encode : Encoding.encoder -> string -> int -> int -> Encoding.code_point -> Encoding.encoding_result end`