1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
module Int = Core.Int module String = Core.String module Char = Core.Char let __nullchar = Char.of_int_exn 0 let pad ~basis msg = let encoded = Encoding.encode msg in let length = String.length encoded in let remainder = Int.( % ) length basis in let zerofill = String.make (basis - remainder) __nullchar in encoded ^ zerofill let __nonzero char = char != __nullchar let unpad msg = Encoding.decode @@ String.filter ~f:__nonzero msg