Add "everything that communicates with a microcontroller" to 2.
That means potentially: the majority of devices in the world.
That means potentially: the majority of devices in the world.
But even there, I find that really these are very big machines in a historical sense. And text parsing is really not that hard, or that big. The first HTTP server was on a 25MHz 68040!
Just use JSON. Anything else in the modern world needs to be presumed to be premature optimization absent a solid analysis with numbers.
There was this one MMO I played, where every packet was just a space separated string, with a fancy variable length number encoding that let them store two digits in a single character.
There is not much difference between
walk <PlayerId> <x> <y>
walk 5 100 300
and ['walk', '<PlayerId>', '<x>', '<y>']
['walk', 5, 100, 300]
in terms of bytes and parsing, this is trivial, but it is a standard JSON document and everyone knows JSON, which is a huge win on the developer side.