Another option is to allow \0 in strings, but throw an `OFInvalidEncodingException` for any method that returns a \0 terminated string. This is probably the best option.