Decodes a single UTF8 character from the given buffer. utf8InOut is used to pass in the start of the utf8 encoded character, and also used to return the end of it once it has been decoded.
Encodes a single character into the given buffer Returns the number of bytes used to encode the given character.