Вообще кодировки переменной ширины непосредственно для обработки данных - достаточно спорное решение. Сериализация и так стоит довольно много, возможно проще было бы взять 4-байтный ГиперКод (хе-хе) и оборачивать его в что-нибудь сжимающее. И строки делать не нуль-терминированными, а с размером и атрибутами в начале.
Увы, наследие PDP-7 гнетёт и спустя сорок лет...