1signature UTF8 = 2sig 3 4 exception BadUTF8 of string 5 datatype safecp = CP of int (* UTF8-encoded code-point *) 6 | RB of int (* raw byte *) 7 val safecp_to_char : safecp -> string 8 val safe_explode : string -> safecp list 9 10 val getChar : string -> ((string * int) * string) option 11 val firstChar : string -> (string * int) option 12 val lastChar : string -> (string * int) option 13 val size : string -> int 14 val chr : int -> string (* May raise Chr *) 15 val padRight : char -> int -> string -> string 16 val substring : string * int * int -> string 17 18 val translate : (string -> string) -> string -> string 19 val all : (string -> bool) -> string -> bool 20 val explode : string -> string list (* invert with String.concat *) 21 val explodei : string -> int list (* invert with String.concat o map chr *) 22end 23