I've wondered why it needs a whole 4 bytes for the length of the string. Why not 2? Who uses a string longer than 65535 characters!?
I think the answer is ... who cares? :)
Are you really storing enough strings in your file where this becomes a storage constraint for you?