An algorithm which can convert data between a decoded string and an encoded string
The name of this encoding
Given encoded data, returns the *decoded representation
Given decoded data, returns an Encodable containing both the decoded and encoded data
Given encoded data, returns an Encodable containing both the decoded and encoded data.
Given decoded data, returns the *encoded representation