The morality of string delimiters vs. character counts
is a debate that has been going on for some 40 years!
Some things never change... ;-)
I think the use of explicitly encoded length, rather than special terminator
or deliminator sequences, is simpler to code and debug, as well as
being more robust in avoiding buffer overflow problems, etc.
Reserving NUL as a special terminator is a C library-ism. I think that
history has shown that the use of this kind of mechanism, rather than
explicitly tracking the string's length, was a mistake.
Ietf mailing list