Неплохо бы иметь такую пару маленьких mapper'ов:
читает голые байты, а выдает (когда его читают) 1, 2-, .. 6-байтные коды.
Политерно и массивами.
И писатель аналогичный.

То есть в почти чистом виде правила кодировки UTF-8.